我正在使用_viewstart.cshtml自动为我的视图分配相同的Razor布局。
这是我的Views文件夹根目录中的一个简单的死文件,如下所示:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
这比将@Layout指令添加到每个单个视图要干得多。
但是,这给Razor 局部视图带来了问题,因为它们运行_viewstart.cshtml的内容,因此错误地为自己分配了布局,这使它们不再是局部的。
这是一个假设的项目,显示_viewstart.cshtml文件,共享的_layout.shtml文件和局部视图(“ AnonBar.cshtml”)。
当前,我要解决的方法是在每个局部视图中添加以下行:
@{
Layout = "";
}
在Razor中将视图表示为局部视图似乎是错误的方法。(请注意,与Web窗体视图引擎不同,部分视图的文件扩展名相同。)
我考虑过的其他选择却更糟:
- 将所有部分视图放入一个公共文件夹,以便它们可以共享一个公共_viewstart.cshtml。这违反了视图与其控制器位于同一文件夹中的约定。
- 不使用局部视图。
Razor视图引擎团队是否还在充实这些东西,还是我缺少一个基本概念?
3
对不起,很抱歉,但是文件名旁边的那些图标是什么?:)某种源代码控制对不对?
—
Alex
@jitbit:VisualSVN
—
2011年