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

Exi*_*tos 18 asp.net-mvc razor asp.net-mvc-3

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

Eri*_*sch 30

是的,它很棒.只需告诉您的布局页面使用另一个布局页面

@{ Layout = "pathToMyOtherLayout"; }
Run Code Online (Sandbox Code Playgroud)

您还可以使用部分传递到父布局.例如:

@Section Headers {@RenderSection("Headers")}
Run Code Online (Sandbox Code Playgroud)

  • 通过章节的细节是我需要的 - 谢谢. (2认同)

Pau*_*yng 9

您可以像在MasterView中一样链接页面,在_ViewStart.cshtml中,您将看到如何定义布局页面:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)

您可以在_Layout.cshtml中添加此部分以引用另一个父级,或将其添加到单个视图以引用不同的布局视图.

ScottGu有一篇关于Razor Layouts的更多信息

我在一些电子商务网站上使用这种确切的方法,你在结账过程中我不希望在视图中有任何干扰(导航等),所以if checkout我没有在布局中有一些特殊情况, a LayoutBrandingOnly和a Layout"继承"它,所以我不必重复所有的品牌html.