【ワテの備忘録】ASP.NET MVCのプロジェクトで複数の_Layout.cshtmlを使う方法

この記事は約3分で読めます。
スポンサーリンク

このところ、ASP.NET MVC の勉強をしているのだが、その備忘録。

ASP.NET MVCのプロジェクトで複数の_Layout.cshtmlを使う方法だ。

まあ、興味ある人はあまりいないと思うが。

では、本題に入ろう。

スポンサーリンク
ワテ推薦のプログラミングスクールで学ぶ
スポンサーリンク
スポンサーリンク

ASP.NET MVCプロジェクトと_Layout.cshtmlの関係

ASP.NET MVCのデフォルトのプロジェクトを生成すると以下の三つのページが自動で生成される。

  • Home/Index.cshtml
  • Home/About.cshtml
  • Home/Contact.cshtml

これらのページは Bootstrap のレスポンシブなスタイルになるので、パソコンとモバイルの両方に対応出来る。

さて、ASP.NETの場合、以下のファイルがこれらの三つのページで読み込まれる共通のレイアウト設定ファイルだ。

"~/Views/Shared/_Layout.cshtml";

この中で、例えば上部のNavibar部分に表示されるメニュー項目を自由に設定できる。

 

で、今日、こんな場面に遭遇した。

  • Home/Index.cshtml

と、他の二つのページ

  • Home/About.cshtml
  • Home/Contact.cshtml

とで、異なるレイアウト設定ファイルを使いたい、そう言う場面だ。

最初は、_Layout.cshtml の中で現在のURLを調べて、IndexとAbout, Contactに応じてif文で対処する方式を思い付いた。

まあ、それでも出来るとは思うのだが、何だかややこしい。

見た目がごちゃごちゃするし。

 

良い方法が無いのかなあと思って調べてたら有った。

簡単だった。

そのやり方。

ASP.NET MVC で特定のレイアウト設定ファイルを使う方法

@{
    Layout = "~/Views/Shared/_Layout2.cshtml";  // この部分を追加すると良い。
    ViewBag.Title = "About";
}

要するに、新しいレイアウト設定ファイル _Layout2.cshtml を作成して、

About.cshtml などの冒頭に上のコードを入れれば良いのだ。

ああ、簡単。

まとめ

ASP.NET MVCはとってもプログラミングがし易いと思う。

サーバーサイド言語にはPHPが一般的だが、ワテの場合にはPHPには馴染めない。

まあ単に慣れの問題かもしれないが、ワテの場合にはPHPよりもC#で書くほうが数倍効率よくWEBプログラミングが出来るような気がする。

 

ASP.NET MVCをやるんなら、この辺りの本が人気あるようだ。

著者の山田 祥寛さんは、プログラミング解説本では超有名人だ。

それに物凄く多作だし。プログラミング解説本業界の赤川次郎かと思うくらいに多作だ。

 

なお、ワテのブログの読者の方で、

  • ASP.NET MVC
  • Visual Studio
  • C#
  • その他、プログラミングに関する話題

などに関して、何か質問、相談など有りましたら、コメント欄からご連絡下さい。

先着1000,000,000名様までに限り、ワテが無料でアドバイスします。

なお、難しい質問には答えられません。

悪しからずご了承下さい。

また、希望者多数の場合には、この無料相談コーナーは、途中で中止になる場合も有ります。

スポンサーリンク
ワテ推薦のプログラミングスクールで学ぶ
コメント募集

この記事に関して何か質問とか補足など有りましたら、このページ下部にあるコメント欄からお知らせ下さい。

ASP.NETC#
スポンサーリンク
warekoをフォローする
スポンサーリンク
われこ われこ

コメント