Quelle est la différence entre DisplayName
attribut et Display
attribut dans ASP.NET MVC?
Réponses
Trop de publicités?DisplayName
jeux de l' DisplayName
dans le modèle de métadonnées. Par exemple:
[DisplayName("foo")]
public string MyProperty { get; set; }
et si vous l'utilisez à votre avis, les suivants:
@Html.LabelFor(x => x.MyProperty)
il serait de générer:
<label for="MyProperty">foo</label>
Display
fait la même chose, mais vous permet également de définir d'autres propriétés de métadonnées comme le Nom, la Description, ...
Brad Wilson a un joli blog portant sur ces attributs.
Ils ont tous deux vous donnent les mêmes résultats, mais la clé différente que je vois, c’est que vous ne pouvez pas spécifier un ResourceType dans l’attribut DisplayName. Pour obtenir un exemple dans MVC 2, vous aviez sous-classer l’attribut DisplayName pour fournir des ressources par l’intermédiaire de localisation. Attribut Display (nouveau dans MVC3 et. Net4) prend en charge ResourceType surcharge comme une propriété « out of the box ».
J’ai découvert que, parfois, DisplayName est inutile pour le message de validation lors de la validation de l’objet normal. Donc je voudrais utiliser affichage (Name = "...") au lieu de cela.
N’importe qui pouvait améliorer ma réponse par préciser pourquoi ce phénomène se produit-il ?
Par exemple :
La sortie de ce sera :