首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC4和页面生命周期?

MVC4和页面生命周期?
EN

Stack Overflow用户
提问于 2013-07-31 01:40:45
回答 3查看 9.4K关注 0票数 7

ASP.NET MVC4没有像普通aspx页面那样的页面生命周期。如何在MVC4中使用preinit,init,prerender?

MVC4中是否存在某种类型的生命周期?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-31 02:02:41

不,页面本身没有生命周期(因为没有' page‘对象),但是有一个请求处理管道,它通常是这样的:

  1. 传入请求由System.Web.Routing.UrlRoutingModule拾取,该url使用请求url将请求映射到控制器操作方法。
  2. 适当的控制器是instantiated
  3. Model绑定,输入验证可能发生在调用控制器上的操作筛选器和/或操作的OnActionExecuting-methods

<代码>H111操作方法本身被调用<代码>H212<代码>H113任何<代码>D14和<代码>D15-调用操作筛选器的方法H216<代码>H117由操作方法返回的<代码>D18呈现超文本标记语言的ViewResult ) is executed.

  1. Any OnResultExecuted-methods of action filters is HTML。

上面的列表只是一个粗略的草图:

路由:传入请求到MVC控制器的操作方法的映射本身就是一个故事。有关详细信息,请参阅ASP.NET Routing on MSDN

操作筛选器:有用于授权、输出缓存、错误处理等的操作筛选器,所有这些都在某个时间运行。这一次,请参阅Filtering in ASP.NET MVC on MSDN了解更多信息。

ASP.NET:当然,还有所有的traditional ASP.NET application events。因此,像System.Web.Security.FormsAuthenticationModuleSystem.Web.Caching.OutputCacheModule这样的HTTP模块仍然可以参与请求的处理。

如果你想深入研究细节,可以从CodePlex下载ASP.NET web堆栈的源代码。您需要的大部分内容都将放在System.Web.Mvc.ControllerActionInvoker类中,尽管这个类的名字很吓人,但并不难理解。

请参阅Dejan的答案,以获得一个很好的图表的链接,该图表总结了大部分内容。

票数 10
EN

Stack Overflow用户

发布于 2013-07-31 02:05:50

  1. 您的web浏览器在服务器上发送

请求通过HTTP路由

  1. 路由通常在Global.asax.cs文件中列出,当我们的请求与这些映射路由之一匹配时,我们在
  2. 路由处理程序上转发,在这里我们创建MVC请求处理程序,我们现在知道将使用哪个控制器并执行
  3. 然后我们到达控制器,在那里我们调用服务并创建模型
  4. 我们将此模型传递给视图引擎(例如RAzor)
  5. 然后在响应中呈现并输出视图

Msdn文档可以在http://msdn.microsoft.com/en-us/library/dd381612(v=vs.98).aspx上找到。

票数 2
EN

Stack Overflow用户

发布于 2014-03-06 00:03:09

你可以看看这篇名为"Lifecycle of an ASP.NET MVC 5 Application“的文章,它大约是在一周前发表的。这也是一个可以下载的PDF file

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17953756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档