MVC 2:厳密に型指定されたHTMLヘルパー

asp.net mvc 2 これは、ASP.NET MVC 2の今後の技術革新に関する一連の記事の最初の部分であり、そのリリースは間近に迫っています。 この投稿は、ASP.NET MVC 2に追加された新しい強く型付けされたHTMLヘルパーに関するものです。


既存のHTMLヘルパー


ASP.NET MVCには、ビューテンプレートで使用できるHTMLヘルパーのセットが付属しており、HTML UIを簡単に生成できます。 たとえば、Texフィールドを表示するには、Html.TextBox()ヘルパーメソッドを使用するコード(.aspxビューテンプレート内)を記述できます。

画像

ヘルパーメソッドの最初のパラメーターはテキストフィールドの名前/ IDを受け入れ、2番目はその値(値)を受け入れます。 ヘルパーメソッドはHTMLを生成し、ブラウザに返します:

画像

強く型付けされた新しいHTMLヘルパー


2番目のバージョンで最も頻繁に要求された機能の1つは、強く型付けされたHTMLヘルパーのサポートでした。これは、ビューテンプレートに渡されるモデルまたはビューモデルを参照するときにラム式を使用します。 これにより、コンパイル時にビューを確認できるため、アプリケーションの実行中にエラーが検出されない場合があります。 また、ビューテンプレートでのインテリセンスサポートも向上します。

現在、新しい強く型付けされたHTMLヘルパーはASP.NET MVC 2の不可欠な部分です。これらのメソッドは、「Html.HelperNameFor()」の原則に基づいた命名規則を使用します。 例:Html.TextBoxFor()、Html.CheckBoxFor()、Html.TextAreaFor()など 要素の名前/ IDと値を決定するラムダ式をサポートしています。

たとえば、Html.TextBox()に加えて、新しいHtml.TextBoxFor()ヘルパーを使用できます。

画像

文字列パラメーター「ProductName」を定義する必要がなくなったことに注意してください。ラムダ式は柔軟性が高いため、値に加えてモデルオブジェクトのプロパティ名とフィールドの両方を返すことができます。

HTMLヘルパーの厳密な型指定により、ラムダ式を記述するときにVisual Studioでインテリセンスを完全にサポートします。

画像

生成されたHTMLは、上記の前のバージョンとまったく同じです。

画像

ASP.NET MVC 2に組み込まれている強く型付けされたHTMLヘルパーのリスト


要素のHTMLヘルパー:
その他のアシスタント:次のパートでは、ASP.NET MVC 2の自動足場機能のトピックに触れるときに、新しいヘルパーHtml.EditorFor()とHtml.DisplayFor()について説明します。検証のトピックを見るときは、Html.ValidationMessageFor()ヘルパーも使用します。

厳密に型指定されたHTMLヘルパーとスキャフォールディング


現在、VS 2008およびVS 2010は、ビューの追加コマンドを使用して新しい厳密に型指定されたビューテンプレートを作成するときに、デフォルトで新しい厳密に型指定されたHTMLヘルパーを使用します。

たとえば、単純なクラス「ProductsController」に「Edit」アクションメソッドがあり、「Product」モデルの編集フォームを生成するとします。

画像

Visual Studioで[編集]アクションメソッドを右クリックし、[ビューの追加]項目を選択してビューテンプレートを作成できます。 Productオブジェクトを使用して、scaffoldingを介して「編集」テンプレートを作成することを選択します。

画像

ASP.NET MVC 2では、新しい強く型付けされたHTMLヘルパーを使用してProductモデルオブジェクトを参照するデフォルトビューテンプレートが作成されます。

画像

結論


ASP.NET MVC 2の新しい厳密に型指定されたHTMLヘルパーは、Visual Studioでテンプレートを編集しながら、ビューテンプレートのタイプセーフティ、コンパイル時のビュー検証、インテリセンスのサポートなどの改善を得る機会を提供します。

Source: https://habr.com/ru/post/J80546/


All Articles