在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则执行。