149 votes

Attribut displayname vs attribut d'affichage

Quelle est la différence entre DisplayName attribut et Display attribut dans ASP.NET MVC?

162voto

Darin Dimitrov Points 528142

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.

78voto

Spock Points 3492

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 ».

8voto

Aizzat Suhardi Points 303

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 :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X