用語整理
レイアウト
* ヘッダやフッタなどの共通レイアウトを定義したビュー(デザインのテンプレート) * ASP.NETのマスターページのようなもの (ASP.NETのマスターページについては、以下の関連記事を参照のこと。)http://blogs.yahoo.co.jp/dk521123/27193663.html
セクション
* レイアウトに埋め込める一部分のコンテンツ領域
サンプル
コントローラ
SampleLayoutController.vb(ただビューを表示するだけ)Imports System.Web.Mvc Namespace Controllers Public Class SampleLayoutController Inherits Controller Function Index() As ActionResult Return View() End Function End Class End Namespace
ビュー
* Sharedディレクトリを右クリックし、[Add]-[MVC5 Layout Page(Razor)]で レイアウト(マスターページ)を追加_LayoutPage1.vbhtml(レイアウト(マスターページ))
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewData("Title")</title>
</head>
<body>
<div>
@RenderSection("sectionHeader")
</div>
<div>
@RenderBody()
</div>
<div>
@RenderSection("sectionFooter")
</div>
</body>
</html>
Index.vbhtml @Code
Layout = "~/Views/Shared/_LayoutPage1.vbhtml"
ViewData("Title") = "Index"
End Code
<h2>Index2</h2>
ボディー
@Section sectionHeader
<div>ヘッダー</div>
End Section
@Section sectionFooter
<div>フッター</div>
End Section
出力結果
ヘッダー Index ボディー フッター
参考文献
http://www.atmarkit.co.jp/fdotnet/aspnetmvc3/aspnetmvc3_08/aspnetmvc3_08_01.htmlhttp://www.atmarkit.co.jp/fdotnet/aspnetmvc3/aspnetmvc3_08/aspnetmvc3_08_02.html
http://codezine.jp/article/detail/5548
とても参考になった
http://blog.codable.co.jp/entry/2015/02/21/010448
http://blog.shibayan.jp/entry/20110731/1312107909
http://takepara.blogspot.jp/2010/10/razorlayout.html