Pendekatan kaedah lanjutan
<code class="language-csharp">public static TAttribute GetAttribute<TAttribute>(this Enum enumValue) where TAttribute : Attribute { return enumValue.GetType() .GetMember(enumValue.ToString()) .First() .GetCustomAttribute<TAttribute>(); }</code>
TAttribute
Pelaksanaan Praktikal
Kod ini melangkah melalui nilai enum
<code class="language-csharp">@foreach (int aPromotion in Enum.GetValues(typeof(UserPromotion))) { var currentPromotion = (int)Model.JobSeeker.Promotion; if ((currentPromotion & aPromotion) == aPromotion) { <p>@((UserPromotion)aPromotion).GetAttribute<DisplayAttribute>().Name</p> } }</code>
(dengan mengandaikan ia adalah enum bendera), ia mengambil harta UserPromotion
Model.JobSeeker.Promotion
menggunakan kaedah lanjutan dan memaparkannya. Ini memastikan bahawa hanya nilai enum yang dipilih ditunjukkan dengan nama paparan mesra pengguna mereka. DisplayAttribute
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nama Paparan Enum dalam MVC Razor Views?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!