我可以在MVC 3中链接/链接超过1个_Layout页面吗?对于cshtml页面?

时间:2011-10-31 21:54:29

标签: asp.net-mvc asp.net-mvc-3 razor

我有一个布局页面和一些使用它的页面。但我想在一些使用它的子页面上实现导航控件。所以我想使用另一个嵌套布局页面。这可能吗?

3 个答案:

答案 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