加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-4 – MVC4和页面生命周期?

发布时间:2020-12-16 04:10:34 所属栏目:asp.Net 来源:网络整理
导读:ASP.NET MVC4没有像常规aspx页面那样的页面生命周期.如何在MVC4中使用preinit,init,prerender? MVC4中有任何类型的生命周期吗? 解决方法 不,本身没有页面生命周期(因为没有’page’对象),但是有一个请求处理管道,通常是这样的: System.Web.Routing.UrlRou
ASP.NET MVC4没有像常规aspx页面那样的页面生命周期.如何在MVC4中使用preinit,init,prerender?

MVC4中有任何类型的生命周期吗?

解决方法

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

> System.Web.Routing.UrlRoutingModule接收传入请求,该请求使用请求URL将请求映射到控制器操作方法.
>实例化适当的控制器
>可能会发生模型绑定和输入验证
>调用控制器和/或操作上的OnActionExecuting-操作方法过滤器
>调用操作方法本身
>调用任何OnActionExecuted和OnResultExecuting-actions of actions过滤器
>执行Action方法返回的ActionResult(通常是呈现HTML的ViewResult).
>调用任何OnResultExecuted – 操作方法过滤器.

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

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

动作过滤器:
有用于授权,输出缓存,错误处理等的动作过滤器,所有这些都在特定时间运行.这一次见Filtering in ASP.NET MVC on MSDN了解更多信息.

ASP.NET:
当然,仍然存在traditional ASP.NET application events.因此,像旧的System.Web.Security.FormsAuthenticationModule和System.Web.Caching.OutputCacheModule这样的HTTP模块仍然可以参与处理请求.

如果你想真正深入研究细节,请从CodePlex开始下载ASP.NET Web堆栈的源代码.很多你将在System.Web.Mvc.ControllerActionInvoker类中,尽管名字很可怕,不是很难遵循.

请参阅Dejan的答案,找到一个很好的图表的链接,总结了很多.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读