_ViewStart.cshtml是在ASP.NET MVC 3.0及更高版本之后出现的,用Razor模板引擎新建项目后,Views目录下面会出现一个这样的文件:html
打开_ViewStart.cshtml文件,里面只有一行代码:布局
这行代码表示使用Views文件夹下的Shared下面的_Layout.cshtml进行布局测试
在Controller的Action方法上面添加断点调试,会发现_ViewStart.cshtml、Layout.cshtml、Index.cshtml三个视图页的执行顺序以下:spa
在新建一个视图的时候,会让你选择是否使用布局页,若是选择了布局页,那么就默认会使用_ViewStart.cshtml里面指定的布局视图:调试
这样设置就表示使用_ViewStart.cshtml里面指定的Layout布局页。code
修改一下新建立的视图页代码htm
@{ ViewBag.Title = "TestView"; } <h2>这是测试视图页</h2>
而后浏览新建立的视图页blog
能够看到:除了咱们刚才在视图页代码里面添加的一行文字意外,还有其它布局,这就是由于使用了布局页。继承
这时若是不想在使用布局页,那么就须要修改Layout了,修改代码以下:模板引擎
@{ ViewBag.Title = "TestView"; // 指定Layout为null则表示不在使用布局页 Layout = null; } <h2>这是测试视图页</h2>
在浏览页面
这时就不会使用布局页了。
若是新建视图的时候,不勾选使用布局页,则也不会使用
生成的视图页代码
@{ // 这里自动设置Layout为null Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>TestViewWithNull</title> </head> <body> <div> 不使用布局页 </div> </body> </html>
而后浏览新添加的视图