0

Asp.net Web サイトの MasterPage と同じように、Asp.net MVC にはデフォルトの _Layout.cshtml ファイルがあることを私は知っています。MVC アプリで複数のレイアウト テンプレートを定義できますか? もしそうなら、それを作る方法は?コード例を教えてください。ありがとう。

4

1 に答える 1

0

複数のレイアウト ページを作成し、異なるビューで使用できます。ビューで Layout プロパティに言及することで、ビュー内の新しいレイアウト ページに言及できます。

新規作成し、以下のViewように名前を付けます。そこで、マスター ページ テンプレートの HTML マークアップを作成できます。通常のビューのコンテンツがレンダリング時にここで置き換えられるように、レイアウト ページにセクションがあることを確認して ください。_AdminLayout.cshtmlViews/Shared@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 に答える