6
でHTMLヘルパーDisplayFor対
Model.Property
- ご存知のように - 問題のプロパティの値を書き出すだけです。一方、Html.DisplayFor(m => m.Property)
は、プロパティ値の周りに他のマークアップをレンダリングできる表示テンプレートを呼び出します。例えば
、そうのような表示テンプレート定義できますDisplayFor
を使用するときに表示テンプレートを選択した場合、周囲のdivは、典型的には、それを意味し、(プロパティの値の周りにレンダリングされる
@model String
<div class="property-wrapper">
<p>@Model.Property</p>
</div>
をプロパティの型にマッチするファイル名は、プロパティのUIHint
属性で指定された、または明示的にDisplayFor
への呼び出しで指定されている。
また、あなたはのような何かを行うことができることを意味し、お使いのディスプレイテンプレート内のモデルのメタデータへのアクセス権を持っていますthis:
<div class="property-label">
@Html.DisplayNameForModel()
</div>
<div class="property-value">
@Model.Property
</div>
ディスプレイテンプレートは、膨大な柔軟性と再利用性を提供します。これを調べる最良の方法は、カスタムテンプレートの作成を開始し、それがどこにあるかを確認することです。