本稿は、Scott Guthrie氏のブログを、氏の許可を得て、翻訳、転載したものです。米Microsoft社の副社長で、ASP.NETやSilverlightの開発チームを統率する氏のブログでは、次期製品を含む最新の技術をいち早く紹介しています。原典:ASP.NET MVC 3: Implicit and Explicit code nuggets with Razor。
本稿は、Scott Guthrie氏のブログを、氏の許可を得て、翻訳、転載したものです。米Microsoft社の副社長で、ASP.NETやSilverlightの開発チームを統率する氏のブログでは、次期製品を含む最新の技術をいち早く紹介しています。
原典:ASP.NET MVC 3: Implicit and Explicit code nuggets with Razor
ASP.NET MVC 3:Razorで暗黙的、明示的コードナゲット
この投稿は、 ASP.NET MVC 3ベータ版/RCの新機能を、いくつか詳細に紹介していく『ミニ投稿』シリーズの1つです。
- Razorの@model新キーワード(10月19日)
- Razorでのレイアウト(10月22日)
- Razorでサーバーサイドのコメント(11月12日)
- Razorの@:と<text>文法(12月15日)
- Razorで暗黙的、明示的コードナゲット(本日)
本日の投稿では、Razorでビューテンプレートにコードナゲットを暗黙的、また明示的に定義する方法についてお話しし、それらのコード例をウォークスルーします。
Razorで流れのあるコーディング
ASP.NET MVC 3は、(既存の.aspxビューエンジンに加え)『Razor』と呼ばれる新ビューエンジンとともに出荷されます。Razorが導入された理由や、サポートされている文法などの詳細は、以前のRazor導入のブログ投稿で確認できます。
Razorでは、ビューテンプレートを書く時に文字数や入力数を最低限に抑えられ、高速で流れるようなコーディングのワークフローが可能です。通常のテンプレートによる文法とは違い、RazorではHTML内にサーバーブロックの開始と終了を明示的に表示する必要がありません。Razorのパーサーは、サーバーブロックの開始と終了をコードから推測します。これにより、クリーンかつ高速で入力が楽しくなるような、コンパクトで表現力のある文法が可能になります。
例えば、以下のRazorスニペットを使用して、製品コレクションを反復し、対応製品のページにリンクしている製品の<ul>一覧が出力できます。

実行すると、以下のような出力を生成します。

上記で、foreachループのコンテンツ内に、2つのコードナゲットが埋め込まれている様子を確認してください。一方が製品名を出力し、もう一方はハイパーリンクにProductIDが埋め込まれています。これらのコードナゲットを、明示的にラップする必要はありません。Razorは、このような状況でのコードの開始と埋め込みを暗黙的に確認できるのです。
この記事は参考になりましたか?
- この記事の著者
-
WINGSプロジェクト Chica(チカ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
この記事は参考になりましたか?
この記事をシェア
