我什么时候应该在MVC中使用Html.Displayfor
本文关键字:Html Displayfor MVC 什么时候 | 更新日期: 2023-09-27 18:25:59
我是MVC的新手,知道如何使用Html.Displayfor()
,但我不知道什么时候使用它?
知道吗?
DisplayFor
帮助程序为给定类型呈现相应的显示模板。例如,您应该将它与集合属性一起使用,或者如果您想以某种方式个性化此模板。与集合属性一起使用时,将自动为集合的每个元素呈现相应的模板。
以下是它的工作原理:
@Html.DisplayFor(x => x.SomeProperty)
将呈现给定类型的默认模板。例如,如果您用一些格式选项装饰了视图模型属性,它将尊重这些选项:
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime SomeProperty { get; set; }
在您的视图中,当您使用DisplayFor
辅助对象时,它将通过考虑此格式来呈现属性,而如果您仅使用@Model.SomeProperty
,它将不尊重此自定义格式。
但不知道什么时候用?
如果要显示视图模型中的值,请始终使用它。始终使用:
@Html.DisplayFor(x => x.SomeProperty)
而不是:
@Model.SomeProperty
我扩展@Darin的答案。
Html.DisplayFor(model => model.SomeCollection)
将在SomeCollection
中的项目上迭代,并使用DisplayFor()
递归地显示这些项目。