Comment faire de MVC3 méthode displayfor montrer la valeur de l'Enum Affichage d'Attribut?
dans un MVC3-Projet, je suis à l'aide d'un enum avec affichage des Attributs:
public enum Foo {
[Display(Name = "Undefined")]
Undef = 0,
[Display(Name = "Fully colored")]
Full = 1
}
Le modèle de classe a d'une propriété à l'aide de cette enum:
public Foo FooProp { get; set; }
La vue utilise le modèle de la classe et affiche la propriété par l'intermédiaire
@Html.DisplayFor(m => m.FooProp)
Maintenant, enfin, ma question:
Comment puis-je faire .Méthode displayfor() afficher la chaîne de caractères à partir de l'Affichage de l'Attribut au lieu de montrer seulement la valeur de l'enum-nom? (il devrait afficher "Undefined" ou "Entièrement en couleur", mais displaysp "Undef" ou "Full").
Merci pour les conseils!
OriginalL'auteur Sascha | 2011-06-05
Vous devez vous connecter pour publier un commentaire.
Un affichage personnalisé modèle peut aider (
~/Views/Shared/DisplayTemplates/Foo.cshtml
):Pense que cela devrait être " si(l'affichage.Nom.Length > 0)'. Un DisplayAttribute n'est pas une propriété de la Longueur.
FirstOrDefault()
peut retourner la valeur NULL (pas d'attribut présent), donc vous devez vérifier que aussi de!Peut-il être un générique d'un type enum modèle?
OriginalL'auteur Darin Dimitrov