0

我知道 Asp.net MVC 中有一个默认的 _Layout.cshtml 文件,就像 Asp.net 网站中的 MasterPage 一样。我可以在我的 MVC 应用程序中定义多个布局模板吗?如果是这样,如何制作?请给我一些代码示例。谢谢。

4

1 回答 1

0

您可以创建多个布局页面并在不同的视图中使用它。您可以通过在视图中提及 Layout 属性来在视图中提及新的布局页面。

创建一个新的View并将其命名为文件夹_AdminLayout.cshtml下。Views/Shared您可以在那里为您的母版页模板创建 HTML 标记。确保您 @RenderBody()的布局页面中有部分,以便正常视图的内容在呈现时将在此处替换。

<html>
  <head>
  </head>
  <body>
      <h1>My new Layout</h1>
      @RenderBody()
  </body>
</html>

如果你想在视图中使用这个布局,你可以这样做

@{
  Layout = "~/Views/Shared/_AdminLayout.cshtml";
}
<p>The content here will be present inside the render body section of layout</p>

如果你想在默认情况下为所有视图使用新的布局而不像上面的代码那样明确提及,你可以在Views/_ViewStart.cshtml文件中进行

@{
    Layout = "~/Views/Shared/_AdminLayout.cshtml";
}
于 2012-07-28T14:20:26.083 回答