覆盖自定义对象的 Html.DisplayFor<>帮助程序的正确方法是什么
本文关键字:帮助程序 方法 是什么 自定义 对象 Html DisplayFor 覆盖 | 更新日期: 2023-09-27 18:32:01
如果我有一个对象并查看为:
public MyCustomerObject
{
public int Id {get;set;}
public string Label {get;set;}
Public string Value {get;set;}
}
@model IEnumerable<MyCustomObject>
@foreach (var item in Model)
{
@Html.LabelFor(m => item)
@Html.DisplayFor(m => item)
}
覆盖LabelFor<>
和DisplayFor<>
扩展的正确方法是什么,以允许我以默认以外的方式处理MyCustomObject
,而不会影响它处理其他类型的能力?
在视图文件夹中创建一个名为 DisplayTemplates
的文件夹。创建一个名为 MyCustomObject.cshtml
的视图,MyCustomObject
作为模型。现在,当您使用 DisplayFor
时,MVC 将使用此视图。同样适用于EditorFor
,文件夹的名称应该EditorTemplates
。
但是,LabelFor
没有模板选项。
有关更多信息,请参阅Scott Hanselman的这篇博文。