【ASP.NET MVC】【Razor】【VB】 Razor ~ レイアウト(マスターページ)編 ~

用語整理

レイアウト

 * ヘッダやフッタなどの共通レイアウトを定義したビュー(デザインのテンプレート)
 * 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
ボディー
フッター


関連記事

Razor ~入門編~

http://blogs.yahoo.co.jp/dk521123/35586581.html

Razor ~ 部分ビュー編 ~

http://blogs.yahoo.co.jp/dk521123/35877197.html