我试图覆盖下面两个MVC 3 Razor扩展生成的标题。我想显示“已启用”而不是“IsEnabled”。
@Html.DisplayFor(modelItem => item.IsEnabled)
和
@Html.LabelFor(model => model.IsEnabled)
我的财产装饰如下:
[DisplayName("Is Enabled")]
public bool IsEnabled { get; set; }
LabelFor
方法似乎尊重DisplayName
属性;它工作得很好。但是,DisplayFor
方法不选择DisplayName
属性。
关于如何覆盖Razor方法的属性标题的任何想法?
谢谢!
答案 0 :(得分:2)
您正在混合标题和内容(或属性的名称及其值)
DisplayFor
用于内容(实例属性的值),因此对于布尔值显示true或false(或者是否选中复选框)。
LabelFor
是...标签(标题类型),因此它将显示属性的名称(如果未放置DisplayName属性,则为IsEnabled),以及DisplayName属性的值,如果它存在