Tengo una propiedad en mi modelo llamada "Promoción" que su tipo es una enumeración de bandera llamada "UserPromotion". Los miembros de mi enumeración tienen atributos de visualización establecidos de la siguiente manera:
[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
}
Ahora quiero poder crear say a ul en mi vista para mostrar los valores seleccionados de mi propiedad "Promoción". Esto es lo que he hecho hasta ahora, pero el problema es que ¿cómo puedo obtener los nombres para mostrar aquí?
<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
. No System.ComponentModel.DisplayNameAttribute
.