Bre*_*ead 41 c# asp.net-mvc asp.net-mvc-3
我是MVC的新手,知道如何使用Html.Displayfor(),但我不知道何时使用它?
任何的想法?
Dar*_*rov 70
该DisplayFor助手呈现给定类型对应的显示模板.例如,如果你想以某种方式个性化这个模板,你应该使用它.或者使用集合属性.与collection属性一起使用时,将自动为集合的每个元素呈现相应的模板.
以下是它的工作原理:
@Html.DisplayFor(x => x.SomeProperty)
Run Code Online (Sandbox Code Playgroud)
将呈现给定类型的默认模板.例如,如果您使用某些格式选项修饰了视图模型属性,那么它将遵循以下选项:
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime SomeProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)
并且在您的视图中使用DisplayFor帮助程序时,它将通过考虑此格式来呈现属性,而如果您使用DisplayFor它,则不会遵循此自定义格式.
但不知道何时使用它?
当您想要从视图模型中显示值时,请始终使用它.始终使用:
@Html.DisplayFor(x => x.SomeProperty)
Run Code Online (Sandbox Code Playgroud)
代替:
@Model.SomeProperty
Run Code Online (Sandbox Code Playgroud)
我正在延长@ Darin的答案.
Html.DisplayFor(model => model.SomeCollection)将遍历项目SomeCollection并使用DisplayFor()递归方式显示项目.
| 归档时间: |
|
| 查看次数: |
52142 次 |
| 最近记录: |