en un MVC3-Proyecto, estoy usando una enumeración con pantalla de Atributos:¿Cómo hacer MVC3 DisplayFor para mostrar el valor de un Enum's Display-Attribute?
public enum Foo {
[Display(Name = "Undefined")]
Undef = 0,
[Display(Name = "Fully colored")]
Full = 1
}
El modelo de clase tiene una propiedad utilizando esta enumeración:
public Foo FooProp { get; set; }
La vista utiliza la clase de modelo y muestra la propiedad a través de
@Html.DisplayFor(m => m.FooProp)
Ahora, por fin, mi pregunta:
¿Cómo puedo hacer .DisplayFor() muestra la cadena desde la visualización Atributo en lugar de mostrar únicamente valor y nombre de la enumeración? (debe mostrar "No definido" o "Totalmente coloreado", pero muestra "Undef" o "Completo").
Gracias por consejos! plantilla de visualización
Grande, eso es todo! – Sascha
Creo que debería ser 'if (display.Name.Length> 0)'. Un DisplayAttribute no tiene una propiedad Length. –
'FirstOrDefault()' puede devolver NULL (no hay ningún atributo presente) ¡así que debe verificarlo también! –