自定义布局模板在MVC3中

时间:2012-07-28 14:15:38

标签: asp.net-mvc-3

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

1 个答案:

答案 0 :(得分: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";
}