无法在剃刀视图中获取枚举显示名称属性

Ass*_*Our 2 c# asp.net-mvc enums razor

我有一个带有 Display(Name=) 的枚举,我希望在 Razor 视图中显示它,但我只得到了值。

 public enum Gender
 {
    [Display(Name = "Man woman")]
    EveryOne = 0,
    [Display(Name = "Man")]
    Man = 1,
    [Display(Name = "Woman")]
    Woman = 2
 }
Run Code Online (Sandbox Code Playgroud)

剃刀:

 Is for: @Model.LectureGig.Gender
Run Code Online (Sandbox Code Playgroud)

Html 结果是:

适用于:所有人

代替:

适用于: 男人 女人

Ass*_*Our 7

像这样:

    public static class EnumExtensions
{
    public static string GetDisplayName(this Enum enumValue)
    {
        return enumValue.GetType()
                        .GetMember(enumValue.ToString())
                        .First()
                        .GetCustomAttribute<DisplayAttribute>()
                        .GetName();
    }
}
Run Code Online (Sandbox Code Playgroud)

& 风景 :

@Model.LectureGig.Gender.GetDisplayName()
Run Code Online (Sandbox Code Playgroud)