Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

ASP.NET MVC 3:Razorの@:と文法

連載:ScottGu's Blog翻訳

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2011/01/12 14:00

 本稿は、Scott Guthrie氏のブログを、氏の許可を得て、翻訳、転載したものです。米Microsoft社の副社長で、ASP.NETやSilverlightの開発チームを統率する氏のブログでは、次期製品を含む最新の技術をいち早く紹介しています。原典:ASP.NET MVC 3:Razor's @: and syntax。

目次

 本稿は、Scott Guthrie氏のブログを、氏の許可を得て、翻訳、転載したものです。米Microsoft社の副社長で、ASP.NETやSilverlightの開発チームを統率する氏のブログでは、次期製品を含む最新の技術をいち早く紹介しています。

 原典:ASP.NET MVC 3: Razor's @: and <text> syntax

ASP.NET MVC 3: Razorの@:と<text>文法

 この投稿は、ASP.NET MVC 3ベータ版/RCの新機能を、いくつか詳細に紹介していく『ミニ投稿』シリーズの1つです。

 本日のブログ投稿では、Razorビューエンジンの2つの便利な文法的新機能である、@:と<text>について話します。

Razorで流れのあるコーディング

 ASP.NET MVC 3は、(既存の.aspxビューエンジンに加え)『Razor』と呼ばれる新ビューエンジンとともに出荷されます。Razorが導入された理由や、サポートされている文法などの詳細は、以前のRazor導入のブログ投稿で確認できます。

 Razorでは、ビューテンプレートを書く時に文字数や入力数を最低限に抑えられ、高速で流れるようなコーディングのワークフローが可能です。通常のテンプレートの文法とは違い、HTML内にサーバーブロックの開始と終了を明示的に表示する必要がありません。Razorのパーサーは、サーバーブロックの開始と終了をコードから推測します。これにより、クリーンかつ高速で入力が楽しくなるような、コンパクトで表現力のある文法が可能になります。

 例えば、以下のRazorスニペットは、製品一覧の反復で使用できます。

caption

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

caption

 コードブロックの終了を暗黙的に確認する時に、Razorが使用するテクニックの1つが、コンテンツの領域の開始を表示するタグ/要素の検索です。例えば、上記のコードスニペットだと、Razorは自動的に、foreachループ内の<li></li>ブロックを、HTMLコンテンツブロックとして扱います。それは、<li>開始タグを発見していて、それがC#で有効なものではないことがわかっているからです。

 コード内のコンテンツブロックを特定するためにタグを使用するこのテクニックは、HTML作成が関わるようなシナリオで、Razorを非常にクリーンで生産性の高いものにしている主要素の1つになっています。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト Chica(チカ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

バックナンバー

連載:Scott Guthrie氏 Blog翻訳

もっと読む

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5