【问题标题】:cant get Enum Display Name property in razor view [duplicate]无法在剃刀视图中获取枚举显示名称属性 [重复]
【发布时间】:2017-04-14 19:20:19
【问题描述】:

我有一个带有 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

Html 结果是:

适用于:所有人

代替:

适合:男人女人

【问题讨论】:

标签: c# asp.net-mvc razor enums


【解决方案1】:

像这样:

    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()

【讨论】:

  • 这行得通;只需要处理没有显示属性的枚举
猜你喜欢
  • 2017-04-21
  • 2012-03-08
  • 2015-03-31
  • 1970-01-01
  • 2012-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-30
相关资源
最近更新 更多