我正在使用_viewstart.cshtml自动为我的视图分配相同的Razor布局。
这是我的Views文件夹根目录中的一个简单的死文件,如下所示:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
这比将@Layout指令添加到每个单个视图要干得多。
但是,这给Razor局部视图带来了问题,因为它们运行_viewstart.cshtml的内容,因此错误地为自己分配了布局,这使它们不再是局部的。
这是一个假设的项目,显示_viewstart.cshtml文件,共享的_layout.shtml文件和局部视图(“ AnonBar.cshtml”)。
当前,我要解决的方法是在每个局部视图中添加以下行:
@{
Layout = "";
}
在Razor中将视图表示为局部视图似乎是错误的方法。(请注意,与Web窗体视图引擎不同,部分视图的文件扩展名相同。)
我考虑过的其他选择却更为糟糕:
这是Razor视图引擎团队还在充实的东西吗,还是我缺少基本概念?
如果您是return PartialView()
从您的控制器(而不是return View()
)那里来的,_viewstart.cshtml
则将不会执行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句