我有一个带有几个区域的.NET MVC应用程序,其中一个称为管理员。当我执行/admin/home/index时,返回了管理区域控制器中的index((方法,并返回正确的index.cshtml。到目前为止,一切都很好。
我的问题与_layout.cshtml有关。我希望每个区域和主站点的布局不同。为此,我在管理区域的视图文件夹中添加了_viewstart.cshtml,在该文件夹中,我有以下内容:
@{
Layout = "/Areas/Admin/Views/Shared/_Layout.cshtml";
}
再次,到目前为止,一切都很好,但是使用完全合格的道路似乎不高,我必须认为有更好的方法。
这里提出了类似的问题:
区域不使用正确的视图
给出的一个答案说,完全有资格的道路是要走的路
所以我的问题是。是否有必要使用完全合格的路径在区域内参考视图?是否不可能在某个区域中这样做:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
基于执行的控制器,视图引擎无法解决我希望从该区域的共享文件夹中的视图而不是从主站点共享文件夹中的视图?
谢谢克里斯
您在区域内的视图将自动查看该区域中的视图文件夹中的_ViewStart.cshtml
或_ViewImports.cshtml
文件。在您的情况下,我的建议是将_ViewStart.cshtml
文件放入您所在地区的视图文件夹中(不在其共享文件夹中!(,并让其引用您选择的_Layout
文件,例如:
_viewstart.cshtml
@{
Layout = "_Layout";
}