【发布时间】:2011-07-06 21:24:06
【问题描述】:
我想在我的应用程序中有 2 个单独的布局。假设一个用于网站的公共部分,另一个用于会员方。
为简单起见,假设每个站点的所有逻辑都整齐地包装在 2 个不同的控制器中。
- 公共控制器
- 员工控制器
而且它们每个下的所有View都有一个对应的Layout。
- _PublicLayout.cshtml
- _StaffLayout.cshtml
如何使用 _ViewStart.cshtml 文件指定“Public”下的所有 View/Actions 使用 PublicLayout 而“Staff”下的所有内容都使用 StaffLayout?
【问题讨论】:
-
以防万一:如果您想删除给定
Razor视图的布局,只需设置Layout = null; -
就像对您的示例的评论一样,您可能不应该有名为 Public 和 Staff 的控制器。控制器通常被实现为对某些关键业务实体(如 EventController、UserController 等)进行类似 CRUD 的操作的入口点。如果您的应用程序相当大,那么 Public/Staff 控制器的职责范围就会很广。改为考虑区域。 msdn.microsoft.com/en-us/library/ee671793%28VS.100%29.aspx您可能知道这一点,但其他阅读此内容的人可能会得到错误的想法,因此仅作记录。
标签: asp.net-mvc layout asp.net-mvc-3 razor