如何制作第二个默认的_Layout视图

时间:2013-11-20 14:59:03

标签: asp.net-mvc-4 layout master-pages

我正在使用具有用户部分和管理面板的ASP.NET MVC 4应用程序。对于用户部分,我使用默认的_Layout视图,但在我的Views文件夹中,我有子文件夹Admin,我计划为管理面板设置所有视图,我想要一个不同的布局他们,让我们说 - _AdminLayout。现在我用:

@{
    Layout = "~/Views/Shared/_AdminLayout.cshtml"; 
}

Admin文件夹中的每个视图的顶部,但我想知道是否有办法将_AdminLayout设置为默认布局,仅适用于此文件夹中的那些视图,从而摆脱显式每个观点的声明?

1 个答案:

答案 0 :(得分:3)

<强>〜/查看/管理/ _ViewStart.cshtml

@{
  Layout = "~/Views/Shared/_AdminLayout.cshtml";
}

您可以在任何控制器视图文件夹中放置_ViewStart以覆盖父级文件夹。惯例首先使它看向最本地的路径,然后进入共享。

顺便说一句,您可能希望使用区域来保持区域划分,但这完全取决于您以及您希望如何构建项目。