2016-11-30 37 views
0

我有一個顯示(名稱=)的枚舉,我希望在剃刀視圖中顯示,但我只獲取值。不能在剃刀視圖中獲得枚舉顯示名稱屬性

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結果:

是對:每個人都

相反的:

是:男性女性

+3

你必須得到屬性值自己 - 看http://stackoverflow.com /問題/ 13099834 /如何到獲得最顯示名稱屬性的-AN-枚舉成員通過-MVC-剃刀碼 – stuartd

回答

0

這樣的:

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