ASP.NET MVC学习(4)视图View
1.视图
2.强类型视图
3.@RenderSection("HeaderSection", false) @RenderBody()
4.子行为
5.ASP.NET MVC载入页面常用方法
http://www.cnblogs.com/baisoft/p/5839319.html
@RenderBody
@RenderPage
@RenderSection
@Html.Partial
@RenderPage()和@RenderPartial()的区别
@Html.RenderPartial和@Html.RenderAction的区别
MVC中的一些特殊优化
删除WebForm视图引擎
在MVC框架中检索视图的顺序为:当前控制器下对应的文件夹的aspx文件→share文件夹aspx文件→当前控制器下对应文件夹的cshtml文件→share文件夹的cshtml文件。
鉴于以上顺序,如果我们使用的MVC5框架中不需要WebForm的视图引擎,可以删除,来提高视图的检索速度。
同样是在Global.asax中操作,代码如下:
public class MvcApplication : System.Web.HttpApplication { /// <summary> /// 删除WebForm视图即aspx文件视图检索引擎 /// </summary> protected void RemoveWebFormEngines() { var viewEngines = ViewEngines.Engines; var webFormEngines = viewEngines.OfType<WebFormViewEngine>().FirstOrDefault(); if (webFormEngines != null) { viewEngines.Remove(webFormEngines); } } /// <summary> /// 网站第一次启动的时候会率先执行,且只执行一次 /// </summary> protected void Application_Start() { AreaRegistration.RegisterAllAreas(); //区域 FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); //过滤器 RouteConfig.RegisterRoutes(RouteTable.Routes); //常规路由 BundleConfig.RegisterBundles(BundleTable.Bundles); //js包、css包、combres //删除WebForm视图即aspx文件视图检索引擎 RemoveWebFormEngines(); //阻止MVC将版本号发回给浏览器 MvcHandler.DisableMvcResponseHeader = true; //注册自定义实例化控制器的容器 ControllerBuilder.Current.SetControllerFactory(new UnityControllerFactory()); } }
隐藏MVC版本号
在Global.asax中的Application_Start()方法中添加一句话:MvcHandler.DisableMvcResponseHeader = true; 即可阻止将MVC版本暴露给浏览器