web-dev-qa-db-ja.com

Html.LabelとHtml.Displayの違いは何ですか?

違いは何ですか Html.LabelおよびHtml.Display

15
Yousuf Tafhim

Html.Label()は、モデルエンティティの属性に使用できるHTMLマークアップ_<label />_をレンダリングします。

たとえば、

_<%= Html.Label("Full Name", Model.FullName) %>
_

レンダリングします

_ <label for="FullName">Full Name </label>
_

一方、Html.Display()は、指定されたテンプレートに基づいてエンティティ全体のHTMLマークアップをレンダリングします。例えば。複数の属性を持つPersonエンティティがある場合は、Personのレンダリング方法に関するマークアップを使用してテンプレートを定義し、Html.Display()はそのテンプレートを使用してビュー全体でPersonオブジェクトをレンダリングします。 Phil Haackは、ディスプレイテンプレートに優れた post を持っています。

15
Bala R

ラベル

HTMLラベル要素と、指定された式で表されるプロパティのプロパティ名を返します。

表示

文字列式で表されるオブジェクトの各プロパティのHTMLマークアップを返します。

3
John Farrell

Html.Displayはより動的であり、レンダリングされるプロパティのデータ型に応じて、およびプロパティが特定の属性でマークされているかどうかに応じて、異なるHTMLマークアップを生成します。このメソッドは、次のルールに従ってマークアップをレンダリングします。

プロパティがプリミティブ型(整数、文字列など)として入力されている場合、メソッドはプロパティ値を表す文字列をレンダリングします。

プロパティにデータ型属性の注釈が付けられている場合、属性はプロパティに対して生成されるマークアップを指定します。たとえば、プロパティがEmailAddress属性でマークされている場合、このメソッドは、次の例のように、mailtoプロトコルで構成されたHTMLアンカーを含むマークアップを生成します。

<a href='mailto:[email protected]'>[email protected]</a>

オブジェクトに複数のプロパティが含まれている場合、メソッドはプロパティごとに、プロパティ名とプロパティ値のマークアップで構成される文字列を生成します。

Html.Label男性のようなラベルタグを生成するだけです

0
Brandon Morales