MVC Razor覆盖属性标题

时间:2013-01-17 14:22:07

标签: asp.net-mvc asp.net-mvc-3 razor

我试图覆盖下面两个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方法的属性标题的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:2)

您正在混合标题和内容(或属性的名称及其值)

DisplayFor用于内容(实例属性的值),因此对于布尔值显示true或false(或者是否选中复选框)。

LabelFor是...标签(标题类型),因此它将显示属性的名称(如果未放置DisplayName属性,则为IsEnabled),以及DisplayName属性的值,如果它存在