gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 10:39:39 27 4
gpt4 key购买 nike

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

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

最佳答案

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

  • System.Web.Routing.UrlRoutingModule 接收传入请求它使用请求 url 将请求映射到 Controller 操作方法。
  • 适当的 Controller 被实例化
  • 可能会发生模型绑定(bind)和输入验证
  • OnActionExecuting -调用 Controller 和/或 Action 上的 Action 过滤器方法
  • Action 方法本身被调用
  • 任意 OnActionExecutedOnResultExecuting -调用 Action 过滤器的方法
  • ActionResult由 action 方法返回的(通常是 ViewResult,它呈现 HTML)被执行。
  • 任意 OnResultExecuted - 调用 Action 过滤器的方法。

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

    路由:
    传入请求到 MVC Controller 的操作方法的映射本身就是一个故事。见 ASP.NET Routing on MSDN了解更多信息。

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

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

    如果您想深入了解细节,请从 CodePlex 下载 ASP.NET Web 堆栈的源代码。 .您所追求的大部分内容将在 System.Web.Mvc.ControllerActionInvoker 中。类,尽管名字很吓人,但并不难理解。

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

    关于asp.net-mvc-4 - MVC4和页面生命周期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17953756/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com