Vit*_*ova 2 asp.net-mvc razor asp.net-mvc-4
考虑一个带有属性的模型类PartnerName。
在这种情况下,这两个代码看起来产生了相同的结果:
@Model.PartnerName
@Html.DisplayFor(m => m.PartnerName)
使用一个对另一个有什么好处吗?因为第一个更干净。
编辑 为了清楚起见,我正在谈论这个特定的超载。
当您使用@Model.PartnerName它显示一个值时,将纯值放入您的 HTML 中,而没有任何周围的标记。当您使用时,@Html.DisplayFor(m => m.PartnerName)您正在调用 DisplayTemplate 来呈现对象。
这些 DisplayTemplates 通常包含标记以确保值以某种方式显示。您还可以创建自定义 DisplayTemplates,以便您始终可以,例如,在带有边框和颜色的精美框内显示您的字符串。
查看本文以创建自定义 DisplayTemplates。http://www.codeguru.com/csharp/.net/net_asp/mvc/using-display-templates-and-editor-templates-in-asp.net-mvc.htm