考虑一个带有属性PartnerName
的模型类。
在这种情况下看起来这两个代码会产生相同的结果:
@Model.PartnerName
@Html.DisplayFor(m => m.PartnerName)
使用一个对另一个有什么好处吗?因为第一个更清洁。
修改 而且要明确我正在谈论这种特定的过载。
答案 0 :(得分:4)
使用@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