2013-12-18 5 views

答えて

11

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> 

ディスプレイテンプレートは、膨大な柔軟性と再利用性を提供します。これを調べる最良の方法は、カスタムテンプレートの作成を開始し、それがどこにあるかを確認することです。

関連する問題

 関連する問題