重命名_ViewStart.cshtml

时间:2011-03-30 17:58:14

标签: asp.net-mvc-3 razor

是否可以将Razor配置为查找名为_ViewStart.cshtml以外的“主”布局文件?我的意思是,没有在内容模板中明确设置Layout属性。

在我正在处理的项目中,每个area都有自己的_ViewStart.cshtml。在他们之上有一个“全球”_ViewStart.cshtml。这工作正常,但我认为如果我可以为每个主模板分配不同的名称会更方便,比如调用“全局”模板_GlobalViewStart.cshtml。这样,当在Visual Studio功能区上打开许多文件时,更容易发现每个文件。 (傻?也许吧。)

如果有可能,怎么办呢?

感谢。

2 个答案:

答案 0 :(得分:12)

它在RazorViewEngine中被硬编码为“_ViewStart”,所以我怀疑它,除非你编译自己的版本。

public class RazorViewEngine : BuildManagerViewEngine {
    internal static readonly string ViewStartFileName = "_ViewStart";
}

您可以定义自己的基本视图,将布局更改为您想要的任何内容,这样您就不必在每个视图上对其进行修改。

答案 1 :(得分:1)

嗯,只是说,但不是_ViewStart的重点,它是定义所有页面(在该区域中)的设置的中心位置。请注意,这并不意味着它是一个母版页。

通常你会在_ViewStart中指定该区域的默认主页,默认情况下这是_Layout(这是你的主页)