在ASP.NET MVC 3.0中,新建項目后,Views目錄下會出現一個這樣的文件:_ViewStart.cshtml(對應Razor,C#,也可能是_ViewStart.vbhtml) 。
這個文件會在所有View(.cshtml)被執行之前執行,主要用於一些不方便或不能在母版(_Layout.cshtml)中進行的統一操作,譬如你有很多個沒有繼承關系的母版或不使用母版的單頁。
在 _ViewStart.cshtml我們可以定義一些參數或做一些判斷,定義過程和語法和普通的頁面沒有任何差別。
除了已經提供的默認功能以外,你還可以自己定義一個類,如MyViewStart,用System.Web.Mvc.ViewStartPage作為基類,並在_ViewStart.cshtml中引用MyViewStart就行(文件第一行加入:@inherits MyNamespace.MyViewStart )。
如果你自己建立ViewEngine,在RazorView的構造函數中會有一個runViewStartPages的參數,如果為false,可以跳過ViewStartPage,如果為true則執行。