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版本暴露给浏览器

 

posted @   ~沐风  阅读(319)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示