完成したサンプル
以下はこれまで構築してきた簡単なアプリケーションのスクリーンショットです。
これがProductsControllersで、/ProductsというURLを実装し、データベースからカテゴリーを取得し、それらをビューテンプレートに引き渡し、描画します。
以下が「Index.cshtml」ビューで、/Productsの応答を描画するのに使用します。
以下が「SiteLayout.cshtml」レイアウトファイルで、サイト全体で、統一感のある見た目と操作性を実装するのに使用します。
以下が「_ViewStart.cshtml」ファイルで、サイトのすべてのビューが、デフォルトで「SiteLayout.cshtml」ファイルを使用するよう指定する時に使用します。
以下が、/ProductsというURLから生成されたHTMLです。

サイトに共通のレイアウトファイルができたので、これでアプリケーション内に、統一感があり非常に簡単に保守できるサイトUIを持った、機能、コントローラ、ビューをさらに構築できます。
より上級な事柄
よくある質問が2つあります。
- ネストされたレイアウトファイルは可能ですか?
- 複数の、隣接しない、置換可能な範囲をレイアウトファイル内に設定して、ビューファイル内で複数の異なるセクションに『埋め込む』ことは可能ですか?
答えは、両者ともにもちろん!です。この方法のサンプルを、今後のブログ投稿に掲載します。
まとめ
以前も書きましたが、ASP.NET MVC 3およびRazorのリリースにおいて取り組んだテーマの1つが、コードをよりクリーンで簡潔にすることでした。今回のリリースのこの新しいレイアウト機能が、ビューファイルの読み書きを、より一層簡単にすることに上手く貢献していると思います。今後の投稿で、ASP.NET MVC 3ベータ版の新機能でこのような素晴らしい機能をカバーしていきます。
Hope this helps,
Scott
P.S. ブログに加え、現在Twitterを使って簡単な更新やリンク共有を行っています。twitter.com/scottguで、私をフォローしてください。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- この記事の著者
-
WINGSプロジェクト Chica(チカ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
この記事は参考になりましたか?
この記事をシェア




