ダウンロード サンプルファイル (1.1 MB)
コードナゲット
こちらはASP.NET 4+VS 2010の環境でしか利用できない機能です。MVC 1では、ビュー側で<%= %>と、ASPやPHPの用な構文を使用していました。ASP.NET 4+VS 2010の環境では、<%: %>というコードナゲットが使用できるようになります。
このコードナゲットを使用することで、自動的にHTMLエンコードを実施します。つまり、MVC 1で使用していたHtml.Encode()というメソッドを使用せずに構文だけでエンコードができます。
<%-- VS 2008 + .NET 3.5 SP1、またはVS 2008 + MVC 2 --%> <%= Html.Encode(model.pub_id) %> <%-- VS 2010 + ASP.NET 4 --%> <%: model.pub_id %>
VS 2008+MVC 2の場合はHtml.Encode()を継続して使用することになりますが、VS 2010+MVC 2の場合は積極的に利用して行きましょう。
強い型付けヘルパーメソッド
MVC 2で強化された「強い型付けヘルパーメソッド」では、MVC 1で実現できなかったラムダ式を使用した記述ができるようになりました。
<%: Html.LabelFor(model => model.pub_id) %> <%: Html.TextBoxFor(model => model.pub_id) %>
出力例は次のとおりです。
<label for="pub_id">ID(Pub_ID)</label> <input id="pub_id" name="pub_id" type="text" value="" />
ラムダ式を使用し、要素の名前/IDなどがラムダ式で指定した値が表示されていることが確認できたかと思います。もちろん強い型付けがされているため、ViewPage上でインテリセンスも使用できます。
MVC 2の強い型付けヘルパーメソッドは、Html.XXXForメソッドとなります。
MVC 2から提供されている強い型付けヘルパーは次のとおりです。
- 入力コントロールヘルパー
- CheckBoxFor
- HiddenFor
- PasswordFor
- RadioButtonFor
- TextBoxFor
- TextAreaFor
- LabelFor
- DropDownListFor
- ListBoxFor
- 編集コントロールヘルパー
- EditorFor
- EditorForModel
- 表示コントロールヘルパー
- DisplayFor
- DisplayForModel
- DisplayTextFor
- 検証コントロールヘルパー
- Html.ValidationMessageFor
MVC 1から提供されていた[ビューの追加]ダイアログから追加されるビューも、MVC 2からは強い型付けヘルパーメソッドによる記載に修正されています。
この記事は参考になりましたか?
- ASP.NET MVC 2入門連載記事一覧
-
- ASP.NET MVC 2による非同期コントローラーとjQuery Template連携
- ASP.NET MVC 2による検証機能
- ASP.NET MVC 2によるエリアとテンプレート活用
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、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本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト ナオキ(ナオキ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
