我正在使用属性描述符来泛化属性并将其属性名称打印为表头。它可以很好地打印属性名称,但不适用于[显示(名称="测试")]
类别:
public class Transaction
{
[Display(Name = "Test")]
public string DELETE { get; set; }
public string PARTNO { get; set; } //Part Number
标记:
@foreach (System.ComponentModel.PropertyDescriptor descriptor in System.ComponentModel.TypeDescriptor.GetProperties(Model[0]))
{
<th onclick="tableColumnSort(this)" class="tableSortHeaderBtnStyle">@descriptor.DisplayName;</th>
}
只需打印&#34; DELETE&#34;名字而不是&#34;测试&#34;。描述符有一个Name和DisplayName选项,两者都设置为&#34; DELETE&#34;
我做错了什么?
答案 0 :(得分:1)
您必须使用[DisplayName("Test")]
代替[Display(Name = "Test")]
,请检查:
public class Transaction
{
//[Display(Name = "Test")]
[DisplayName("Test")]
public string DELETE { get; set; }
public string PARTNO { get; set; } //Part Number
}
您可以在DotNetFiddle。
中查看此内容答案 1 :(得分:1)
使用[DisplayName("Test")]
代替[Display(Name = "Test")]