免费建手机网站的软件,西安网站开发哪家好,网站编写教程,电商网站设计的企业特定视图呈现时发生的事件顺序#xff1a; 动作方法返回的ViewResult执行 ViewResult 使用ViewEngineCollection查找视图 ViewEngineCollection给每个注册的IViewEngine解析该视图的机会。顺序由集合中视图引擎的顺序决定 ViewResult使用ControllerContext#xff0c;视图名称…特定视图呈现时发生的事件顺序 动作方法返回的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初始化HtmlHelperAjaxHelper和UrlHelper然后委托给你已经熟悉的base.processRequest(),因为它是IHttpHandler上的主要方法。 从动作方法返回一个ViewResult到现有响应管道执行时你作为开发人员有多个地方可以定制呈现过程的行为。如下接口是你可以插入到自己的逻辑并且在动作方法返回之后改变默认行为的扩展点。 IView IViewDataContainer IViewEngine IViewLocationCache 广泛使用的扩展点是IViewEngine因为这是继承其他视图引擎所必需的扩展点。从WebFormViewEngine继承一个类并覆盖FileExists或CreateView方法也相当简单。转载于:https://www.cnblogs.com/ongoing/p/3140513.html