Coreを学習メモです。Razorのレイアウト配置について学んでいきます。76.0.3809.132マスターページテンプレートレイアウトWebページは通常共通のレイアウト構成があります。ヘッダー、フッター、ナビゲーションバーなどです。することでページごとのレイアウトを気にするなく、作成するページだけのコンテンツに集中することができます。開発効率を高めるだけでなく、共通レイアウトのメンテナンスもし易いです。RazorのビューエンジンもLayoutの概念があり、子ページからマスターページのレイアウトを適用することができます。Layoutのマスターページを作成Viewsフォルダ配下にSharedフォルダを作成し、Sharedのなかにマスターページ_Layout.cshtmlを作成します。</body></html>@ViewBag.Titleで現在ページのタイトルを表示します。@RenderBodyでマスターページのレイアウトを適用し、他のビューのレンダリングします。ビューの子(サブ)ページを作成/Views/Homeの配下でIndex.cshtmlを作成し、レイアウトを適用します。Methodを修正します。稼働確認/home/indexへアクセスすると下記の画面が表示されます。カスタムセクションマスターページを使用することでレイアウトのコンテンツや機能を簡単に共有できます。サブページでマスターページのコンテンツの表示しつつ、一部のコンテンツだけ書き換えたい要望が当然あります。その場合、カスタムセクションのレンダリングする必要があります。RazorはSectionの機能を提供しており、マスターページからRanderSectionメソッドを用いて、自分で定義したSectionを表示させることができます。Sectionの定義Sectionはサブページのみで定義することが有効です。Section名、自分で定義できます。定義したSectionをレンダリングできます。Sectionの実装例Controllersフォルダ配下にLayoutController.csを作成します。}}Viewsフォルダ配下にLayoutフォルダを作成します。その中でSectionDemo.cshtmlを作成します。稼働確認/へアクセスすると下記の画面が表示されます。layout/sectiondemoへアクセスすると下記の画面が表示されます。グローバルファイルRazorはビューレンダリングする前に実行されるコードのファイルを提供しており、それが_ViewStart.cshtmlです。通常、このファイルを使うことで規定のレイアウトを指示するために使われることが多いです。このファイルはViewsフォルダの配下に配置しなければいけません。Viewsフォルダ直下に_ViewStart.cshtmlを作成します。"_Layout";}これで、すべてのページがレイアウトが適用されますので、Index.cshtmlのLayout定義を削除してOKです。"_Layout";}<h3>@ViewBag.Title</h3>@ViewBag.Message/へアクセスしても同じようにレイアウト適用済みの画面が表示されます。今回作成したソースコードです。