_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>
而後瀏覽新添加的視圖