Whta是'@ Html.DisplayFor(modelItem => item.FirstName)'和'@ item.FirstName'之间的区别?

时间:2017-02-03 02:04:27

标签: asp.net-core-mvc asp.net-core-1.0

@Html.DisplayFor(modelItem => item.FirstName)

@item.FirstName

首先优先考虑?哪个最好,怎么样?

1 个答案:

答案 0 :(得分:1)

DisplayFor是所谓的显示模板,并且已经在mvc中存在了很长时间。当您想要在视图中显示时使用对象元数据时,可以使用它们。

更新:@ stephen-muecke在评论中是正确的。原始答案不正确。

使用HTML.DisplayFor(m=> mi.FirstName)时,它会显示该值以及该属性的[DisplayFormat]属性中指定的格式。鉴于@item.FirstName不会考虑[DisplayFormat]属性,并会显示对象的值。

使用HTML.DisplayFor(m=> mi.FirstName)时,它会显示First Name,而@item.FirstName则不会考虑显示属性,并会显示对象的值。

现在,如果您正在使用aspnet核心,您应该阅读TagHelpers并使用该方法。它更干净,是“aspnet核心”的做法。检查this并查看任何aspnet核心模板。