2013-12-18 43 views

回答

11

Model.Property - 正如你所知道的 - 只會寫出有問題的財產的價值。另一方面,Html.DisplayFor(m => m.Property)將調用顯示模板,該模板可以渲染出屬性值周圍的其他標記。

例如,可以定義一個顯示模板,如下所示:

@model String 

<div class="property-wrapper"> 
    <p>@Model.Property</p> 
</div> 

周圍的div將圍繞屬性的值當使用呈現DisplayFor(如果選擇了顯示的模板,這通常意味着它具有與該屬性類型相匹配的文件名,在該屬性的UIHint屬性中指定,或者在調用DisplayFor時明確指定

您還可以訪問顯示模板中的模型元數據,這意味着您可以執行類似這個:

<div class="property-label"> 
    @Html.DisplayNameForModel() 
</div> 

<div class="property-value"> 
    @Model.Property 
</div> 

顯示模板爲您提供了大量的靈活性和可重用性。探索這個最好的方法是開始構建自定義模板並查看需要的位置。