ASP.NET MVC创建视图过程
MvcHandler.ProcessRequest()
(1)获取Action执行结果:context2.Result
| ActionExecutedContext context2 = this.InvokeActionMethodWithFilters(controllerContext, filters.ActionFilters, actionDescriptor, parameterValues | 
| this.InvokeActionResultWithFilters(controllerContext, filters.ResultFilters, context2.Result); | 
(2)InvokeActionResultWithFilters()方法中:
| this.InvokeActionResult(controllerContext, actionResult); | 
| actionResult.ExecuteResult(controllerContext); 如果是创建视图,实则执行:ViewResultBase.ExecuteResult(); | 
(3)ViewResultBase.ExecuteResult()方法中:
| ViewResultBase. ExecuteResult()方法中:(找到视图引擎,找到视图) result = this.FindView(context); 实则执行:ViewResult.FindView() | 
| ViewResult.FindView()方法中: ViewEngineResultresult = base.ViewEngineCollection.FindView(context, base.ViewName, this.MasterName); | 
ViewResultBase属性 ViewEngineCollection
| publicViewEngineCollectionViewEngineCollection // ViewEngines.Engines为静态ViewEngineCollection类型 //静态构造函数中 为ViewEngineCollection中添加了两个视图引擎对象(WebFormViewEngine,RazorViewEngine) | 
(5)ViewEngineCollection.FindView()方法:
| publicvirtualViewEngineResultFindView(ControllerContextcontrollerContext, stringviewName, stringmasterName) //e.FindView()为 IViewEngine.FindView() | 
ViewEngineResult:(包含IView、IViewEngine类型的两个属性)
| publicclassViewEngineResult | 
IViewEngine:
| publicinterfaceIViewEngine | 
| publicinterfaceIView | 
ViewEngines.Engines.Insert(0, new DebugDataViewEngine());
ASP.NET MVC创建视图过程的更多相关文章
- ASP.NET MVC 5 - 视图
		在本节中,你要去修改HelloWorldController类,使用视图模板文件,在干净利索地封装的过程中:客户端浏览器生成HTML. 您将创建一个视图模板文件,其中使用了ASP.NET MVC 3所 ... 
- asp.net mvc  部分视图加载区别
		ASP.NET MVC 部分视图 ASP.NET(11) 版权声明:本文为博主原创文章,未经博主允许不得转载. [部分视图] ASP.NET MVC 里的部分视图,相当于 Web Form 里的 ... 
- [ASP.NET MVC2 系列] ASP.Net MVC教程之《在15分钟内用ASP.Net MVC创建一个电影数据库应用程序》
		[ASP.NET MVC2 系列] [ASP.NET MVC2 系列] ASP.Net MVC教程之<在15分钟内用ASP.Net MVC创建一个电影数据库应用程序> ... 
- [转]ASP.NET MVC 5 - 视图
		在本节中,你要去修改HelloWorldController类,使用视图模板文件,在干净利索地封装的过程中:客户端浏览器生成HTML. 您将创建一个视图模板文件,其中使用了ASP.NET MVC 3所 ... 
- ASP.NET MVC创建的网站
		ASP.NET MVC创建的网站 最近在写一个网站,昨天刚写完,由于要和朋友一起测试,但是他电脑上没有环境,所以希望我在自己电脑上部署一下,让他直接通过浏览器来访问来测试,所以从昨晚到今天上午,通 ... 
- Asp.net MVC Razor视图模版动态渲染PDF,Razor模版生成静态Html
		Asp.net MVC Razor视图模版动态渲染PDF,Razor模版生成静态Html 1.前言 上一篇文章我开源了轮子,Asp.net Core 3.1 Razor视图模版动态渲染PDF,然后,很 ... 
- ASP.NET MVC 创建控制器类过程
		MvcHandler.ProcessRequestInit()方法: 1.1获取控制器的名称string requiredString = this.RequestContext.RouteData. ... 
- ASP.NET MVC 4 视图页去哪里儿
		这里特别感谢 swagon 提到了Displaymodeprovider,所以才有了本篇博客,也使我对[View的呈现]中寻找视图页的过程有了清晰的认识! 前戏 在MVC中,执行完Action之后,会 ... 
- ASP.NET MVC Razor视图引擎攻略
		--引子 看下面一段MVC 2.0的代码. <%if (Model != null){%> <p><%=Model%></p><%}%>&l ... 
随机推荐
- 百度人脸识别api及face++人脸识别api测试(python)
			一.百度人脸识别服务 1.官方网址:http://apistore.baidu.com/apiworks/servicedetail/464.html 2.提供的接口包括: 2.1 多人脸比对:请求多 ... 
- Atom 编辑器系列视频课程
			此课程为 Atom 编辑器系列课程,主要介绍了 Atom 的高效开发技巧以及必备插件. 课程列表 Atom编辑器系列课程 #1 - Atom简介 Atom编辑器系列课程 #2 - 设置简介 Atom编 ... 
- 搭建spring工程配置数据源连接池
			Spring作为一个优秀的开源框架,越来越为大家所熟知,前段时间用搭了个spring工程来管理数据库连接池,没有借助Eclipse纯手工搭建,网上此类文章不多,这里给大家分享一下,也作为一个手记. 工 ... 
- HDU5875
			Function Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total ... 
- MyBatis绑定错误--BindingException:Invalid bound statement (not found)
			如果出现: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 一般的原因是Mapper i ... 
- 如何让微信小程序快速接入七牛云
			如果你确定用七牛运行小程序的话,给大家分享一个九折优惠码:61d1fd4d1 月 9 日 微信小程序正式发布,小程序终于揭开了它神秘的面纱,开发者对小程序的追捧更是热度不减.从小程序的热门应用场景来看 ... 
- openstack安装文档
			#########################################openstack m版本部署安装################################## 控制节点.网络 ... 
- TFS应用经验-大型项目数据仓库抽取导致的TFS应用无法访问
			在超过千人使用的TFS生产环境中,每天周期性出现无法正常查看工作项白板.无法签入代码.无法进行自动化构建.无法进行报表数据的查看等情况,真是一个让人焦灼的问题.作为TFS平台支持和运维的团队,也想进了 ... 
- BZOJ 2324: [ZJOI2011]营救皮卡丘(带上下限的最小费用最大流)
			这道题么= =还是有些恶心的,第一次写带上下界的网络流,整个人都萌萌哒~~~ 首先先预处理得最短路后 直接用费用流做就行了。 第一次写,还是挺好写的= = CODE: #include<cstd ... 
- 关于jquery中封装函数如何传递当前元素的问题
			需要对页面上一组元素进行ajax操作 <div id="aid"></div> <div id="aid"></div ... 
