我有一个布局页面和一些使用它的页面。但我想在一些使用它的子页面上实现导航控件。所以我想使用另一个嵌套布局页面。这可能吗?
答案 0 :(得分:30)
是的,效果很好。只需告诉您的布局页面使用其他布局页面
@{ Layout = "pathToMyOtherLayout"; }
您还可以使用部分传递到父布局。例如:
@Section Headers {@RenderSection("Headers")}
答案 1 :(得分:9)
您可以像主页一样链接页面,在_ViewStart.cshtml中,您将看到如何定义布局页面:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
您可以在_Layout.cshtml中添加此部分以引用另一个父级,或将其添加到单个视图以引用不同的布局视图。
ScottGu的帖子包含Razor Layouts
的更多信息我在一些电子商务网站上使用这种确切的方法,你在结账过程中我不希望在视图中有任何干扰(导航等),所以不要有一些特殊情况{{ 1}}在布局中,我创建了一个if checkout
和一个LayoutBrandingOnly
“继承”它,所以我不必重复所有的品牌html。
答案 2 :(得分:1)
您可以使用部分在一个布局页面中轻松解决此问题。 检查http://weblogs.asp.net/scottgu/archive/2010/12/30/asp-net-mvc-3-layouts-and-sections-with-razor.aspx