@Html.DisplayFor(modelItem => item.FirstName)
和
@item.FirstName
哪种方式是首选方式?哪个最好以及如何?
DisplayFor 就是所谓的显示模板,在 mvc 中已经存在很长时间了。当您想要在视图中显示时考虑使用对象元数据时,将使用它们。
更新:@stephen-muecke 的评论是正确的。原来的答案是不正确的。
当您使用
HTML.DisplayFor(m=> mi.FirstName)
时,它将显示该值以及该属性的 [DisplayFormat]
属性中指定的格式。而 @item.FirstName
不会考虑 [DisplayFormat]
属性并会显示对象的值。
当您使用
HTML.DisplayFor(m=> mi.FirstName)
时,它将显示 First Name
,而 @item.FirstName
不会考虑显示属性,而是显示对象的值。
现在,如果您使用的是 aspnet core,您应该阅读 TagHelpers 并使用该方法。它更加干净,并且是“aspnet core”的实现方式。检查 this 并查看任何 aspnet 核心模板。