J'ai une propriété dans mon modèle appelée "Promotion" dont le type est une énumération d'indicateurs appelée "UserPromotion". Les membres de mon énumération ont des attributs d'affichage définis comme suit:
[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
}
Maintenant, je veux pouvoir créer disons un ul dans ma vue pour montrer les valeurs sélectionnées de ma propriété "Promotion". C'est ce que j'ai fait jusqu'à présent, mais le problème est que comment puis-je obtenir les noms d'affichage ici?
<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
. Non System.ComponentModel.DisplayNameAttribute
.