SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ASP.NET MVC3入門

ASP.NET MVC 3Tools UpdateとView周りの改良点

ASP.NET MVC3入門(2)


  • X ポスト
  • このエントリーをはてなブックマークに追加

Razor構文のいろは

 View周りで忘れられないのはビューエンジンRazorです。すでに多くの情報が提供されているので、本稿ではRazorで最低限覚えておくべき構文と、Razor使用時の必須設定。そして、学習するためのおススメコンテンツについてご紹介します。

必修Razor構文

 Razorは前回記載したようにASPXに代わるビューエンジンで、構文は一番最初に"@"を記載するだけです。@以降はヘルパーメソッドやC#/VBの言語構文を解析して実行してくれます。

 "@"以外に最低限抑えておくべき記法がいくつかありますので、以下の表に記載します。

Razor構文とASPX構文の対比
シンタックスの解説 Razor ASPX
コードブロック @{ string hr = "Razor";} <% string hr = "ASPX"; %>
一部をプレーンテキスト出力したい

@if (book.price > 2000)
{
 <text>
 高額な書籍です。<br />
 大事に読みましょう。
 </text>
}else
{
 @:雑誌か漫画の単行本などの可能性有

<% if(book.price > 2000) { %>
 高額な書籍です。<br />
 大事に読みましょう。

<% }else{ %>
       雑誌か漫画の単行本などの可能性有
<% } %> 

HTML文字列をそのままレンダリングしたい @Html.Raw(model.Title) <%= model.Title %>
HTML文字列をエンコードしたい @model.Title <%: model.Title %>
コメント @* Razorによるコメント *@ <%-- ASPXによるコメント --%>

 ほとんどの場合Razorの方がシンプルに書けることがご確認いただけたかと思います。学習やスタートアッププロジェクトの場合にはRazorを選択肢に加えてみてはいかがでしょうか。

Razorのみ使用する場合の必須設定

 シンプルに短く記述できるRazorは魅力的ですが、ASP.NET Web Formのサーバーコントロールを使用できません。また、ASPXの場合、Web Formのサーバーコントロールは使用できますが、一行辺りに入力する文字がRazorよりも増えてしまいます。プロジェクトや開発されるメンバーの環境などにより選択されると思いますが、もし、Razor構文一択でASPXを使用しない場合、ASPXのViewEngineは不要になります。ASP.NET MVCでは、既定でASPXとRazorどちらもチェックしますので、Razor一択の場合はASPXのViewEngineは削除することで、わずかではありますが、パフォーマンスアップが見込めます。

 肝心のViewEngineの設定ですが、アプリケーション時に実行されるGlobal.asaxのApplication_Startメソッド内に以下のように記載をします。

Global.asaxへの記載
// ViewEngineからASPXとRazorをクリア
ViewEngines.Engines.Clear();
// ViewEngineにRazorのみ追加
ViewEngines.Engines.Add(new RazorViewEngine());

 Clearメソッドで現在登録されているViewEngineを削除し、AddメソッドでRazorのViewEngineを再登録します。これでRazorのみの登録が実現できます。Razorのみ利用するときは必ず上記コードを入れるようにしましょう。

Razor学習おススメコンテンツ

 Razorが正式リリース(MVC 3のRTW時)してから半年近く経ち、多くのドキュメントが提供されてきました。喜ばしい反面入門の方にとっては、どのドキュメントを読むべきか悩むこともあるかもしれません。

 本項では、現在著者が参考にしているRazorに関するコンテンツを3つ紹介します。

Scott Guthrie氏 Blog翻訳

 Chicaさんが実施しているScott Guthrie氏のBlog翻訳ですが、Razor構文に関する投稿はすべて和訳されています。Razor登場の背景から、実際に活用するためのノウハウが掲載されています。"ASP.NET MVC 3: Razorの(で)XXX"というタイトルで表示されていますので、Razorを現場活用する際には一読してみると良いでしょう。

Razor構文とASP.NET Webページ

 無償のWebサイト開発環境WebMatrix上ではRazorを利用できますが、実際にWebサイトを作成しながらRazor構文を学習できるドキュメントがマイクロソフトから提供されています。WebMatrixをインストールし、本ドキュメントをダウンロードしていればお手軽に学習できるのがポイントです。

まめしば雑記 ASP.NET MVC 3 開発入門 (12) - Razor の文法

 しばやんさんが、Razorに関する構文を実例と解説を交えて紹介しています。すぐに利用したい!という場合は、コチラを参考に学習してRazorを利用しましょう。

 上記3つはどれか1つでも閲覧することでRazorを簡単に習得できますが、より深く知りたい方はすべてのコンテンツをチェックし、実際にアプリケーションを作成してみると良いでしょう。

次のページ
ASP.NET MVCにおけるHTML5対応について

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ASP.NET MVC3入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト ナオキ(ナオキ)

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5983 2011/06/22 17:45

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング