C# 无法在razor视图中获取枚举显示名称属性
我有一个带有Display(Name=)的枚举,我希望在Razor视图中显示它,但我只得到了值C# 无法在razor视图中获取枚举显示名称属性,c#,asp.net-mvc,razor,enums,C#,Asp.net Mvc,Razor,Enums,我有一个带有Display(Name=)的枚举,我希望在Razor视图中显示它,但我只得到了值 public enum Gender { [Display(Name = "Man woman")] EveryOne = 0, [Display(Name = "Man")] Man = 1, [Display(Name = "Woman")] Woman = 2 } 剃刀: Is for: @Model.LectureGig.Gender
public enum Gender
{
[Display(Name = "Man woman")]
EveryOne = 0,
[Display(Name = "Man")]
Man = 1,
[Display(Name = "Woman")]
Woman = 2
}
剃刀:
Is for: @Model.LectureGig.Gender
Html结果为:
是给每个人的
而不是:
是给男人女人的
像这样:
public static class EnumExtensions
{
public static string GetDisplayName(this Enum enumValue)
{
return enumValue.GetType()
.GetMember(enumValue.ToString())
.First()
.GetCustomAttribute<DisplayAttribute>()
.GetName();
}
}
您必须自己获取属性值-请参见
@Model.LectureGig.Gender.GetDisplayName()