Modelimde "UserPromotion" adlı bir bayrak numaralandırması olan "Promotion" adlı bir özelliğim var. Numaramın üyeleri aşağıdaki gibi ayarlanmış görüntüleme özelliklerine sahiptir:
[Flags]
public enum UserPromotion
{
None = 0x0,
[Display(Name = "Send Job Offers By Mail")]
SendJobOffersByMail = 0x1,
[Display(Name = "Send Job Offers By Sms")]
SendJobOffersBySms = 0x2,
[Display(Name = "Send Other Stuff By Sms")]
SendPromotionalBySms = 0x4,
[Display(Name = "Send Other Stuff By Mail")]
SendPromotionalByMail = 0x8
}
Şimdi "Promosyon" özelliğinin seçilen değerlerini göstermek için benim görüşüme göre bir ul demek oluşturmak istiyorum. Şimdiye kadar yaptığım şey bu, ancak sorun şu ki, ekran adlarını buraya nasıl alabilirim?
<ul>
@foreach (int aPromotion in @Enum.GetValues(typeof(UserPromotion)))
{
var currentPromotion = (int)Model.JobSeeker.Promotion;
if ((currentPromotion & aPromotion) == aPromotion)
{
<li>Here I don't know how to get the display attribute of "currentPromotion".</li>
}
}
</ul>
System.ComponentModel.DataAnnotations.DisplayAttribute
. Hayır System.ComponentModel.DisplayNameAttribute
.