特定视图呈现时发生的事件顺序
2013-06-17 16:18
183 查看
特定视图呈现时发生的事件顺序:
动作方法返回的ViewResult执行
ViewResult 使用ViewEngineCollection查找视图
ViewEngineCollection给每个注册的IViewEngine解析该视图的机会。顺序由集合中视图引擎的顺序决定
ViewResult使用ControllerContext,视图名称,ViewData和TempData创建一个ViewContext。
ViewResult调用传入ViewContext和响应流的IView上的Render()。
如果IView实例继承自WebFormView,发生后面的步骤。
WebFormView使用IBuildManager从一个虚拟路径创建一个ViewPage或ViewUserControl。
WebFormView在ViewPage上设置MasterLocation,设置ViewData并且调用传入ViewContext的RenderView()。
ViewPage存储ViewContext,初始化HtmlHelper,AjaxHelper和UrlHelper,然后委托给你已经熟悉的base.processRequest(),因为它是IHttpHandler上的主要方法。
从动作方法返回一个ViewResult到现有响应管道执行时,你作为开发人员有多个地方可以定制呈现过程的行为。如下接口是你可以插入到自己的逻辑并且在动作方法返回之后改变默认行为的扩展点。
IView
IViewDataContainer
IViewEngine
IViewLocationCache
广泛使用的扩展点是IViewEngine,因为这是继承其他视图引擎所必需的扩展点。从WebFormViewEngine继承一个类并覆盖FileExists()或CreateView()方法也相当简单。
动作方法返回的ViewResult执行
ViewResult 使用ViewEngineCollection查找视图
ViewEngineCollection给每个注册的IViewEngine解析该视图的机会。顺序由集合中视图引擎的顺序决定
ViewResult使用ControllerContext,视图名称,ViewData和TempData创建一个ViewContext。
ViewResult调用传入ViewContext和响应流的IView上的Render()。
如果IView实例继承自WebFormView,发生后面的步骤。
WebFormView使用IBuildManager从一个虚拟路径创建一个ViewPage或ViewUserControl。
WebFormView在ViewPage上设置MasterLocation,设置ViewData并且调用传入ViewContext的RenderView()。
ViewPage存储ViewContext,初始化HtmlHelper,AjaxHelper和UrlHelper,然后委托给你已经熟悉的base.processRequest(),因为它是IHttpHandler上的主要方法。
从动作方法返回一个ViewResult到现有响应管道执行时,你作为开发人员有多个地方可以定制呈现过程的行为。如下接口是你可以插入到自己的逻辑并且在动作方法返回之后改变默认行为的扩展点。
IView
IViewDataContainer
IViewEngine
IViewLocationCache
广泛使用的扩展点是IViewEngine,因为这是继承其他视图引擎所必需的扩展点。从WebFormViewEngine继承一个类并覆盖FileExists()或CreateView()方法也相当简单。
相关文章推荐
- 事件的发生顺序-HTML5移动开发
- TextBox和DataGridView控件的事件发生顺序
- Asp.net事件的发生顺序
- Winform窗体事件发生顺序
- jQuery:事件发生的顺序
- GridView 控件事件发生顺序
- 窗口事件的发生顺序
- 从Request到Response之间的所有事件发生的顺序
- TextBox 控件的事件发生顺序
- 【循序渐进学图形学之】OpenGL视图和模型变换中各变换发生顺序的思考
- 查看事件发生顺序的方法
- GridView 控件事件发生顺序
- ASP.NET下母版页和内容页中的事件发生顺序整理
- 【OpenGL】OpenGL视图和模型变换中各变换发生顺序的思考
- 从Request到Response之间的所有事件发生的顺序
- ASP.NET下母版页和内容页中的事件发生顺序整理
- 窗口事件的发生顺序
- GridView 控件事件发生顺序
- ASP.NET下母版页和内容页中的事件发生顺序整理
- 接口与回调(相关话题:特定事件发生应该采取动作、监听)