ASP.NET MVC 3 RAZOR のレイアウトファイルの読み込み

2012/03/27
大元になるレイアウト(テンプレートファイル・マスターページ)はデフォルトで「/Views/Shared/_Layout.cshtml」を読み込む。
※「/Views/_ViewStart.cshtml」で設定されている。
※別のファイルを使う方法は後述

レイアウト内のユニークコンテンツ

レイアウトのファイル(/Views/Shared/_Layout.cshtml等)内にある「@RenderBody()」が元のファイル(/Views/Home/Index.cshtml等)に置き換えられる。
「@RenderBody()」はレイアウトのファイル一つにつき1回だけ使えるらしい。

レイアウト内の共通コンテンツ(ヘッダ・フッタ等)

レイアウトのファイル(/Views/Shared/_Layout.cshtml等)内で「@RenderPage()」を使う

さんぷる

「/Views/Shared/_Header.cshtml」を読み込む場合。

@RenderPage("~/Views/Shared/_Header.cshtml")

別のレイアウトを使う

レイアウトの呼び出し元で「Layout」ってのを使う。

さんぷる

「/Views/Home/Index.cshtml」のレイアウトをデフォルトの「/Views/Shared/_Layout.cshtml」ではなくて「/Views/Shared/_recatnap.cshtml」に変更したい。

「/Views/Home/Index.cshtml」に下記を追加。

  1. @{
  2.   Layout = "~/Views/Shared/_recatnap.cshtml";
  3. }

※ルートからってことでルート演算子(~)を使う。

新着(ニュース関連以外)

2018-07-26
年賀状で「新春」とか書くけど・・・何故なんだろうと8月を目前にした今、疑問に思った。
2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい