“@Html.DisplayFor(modelItem => item.FirstName)”和“@item.FirstName”有什么区别?

问题描述 投票:0回答:1
@Html.DisplayFor(modelItem => item.FirstName)

@item.FirstName

哪种方式是首选方式?哪个最好以及如何?

asp.net-core-mvc asp.net-core-1.0
1个回答
1
投票

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 核心模板。

© www.soinside.com 2019 - 2024. All rights reserved.