Pourquoi devrais-je utiliser LabelFor MVC?
Pourquoi devrais-je utiliser LabelFor
au lieu de <label>
?
par exemple.
@Html.LabelFor(model => model.FirstName)
@Html.DisplayFor(model => model.FirstName)
vs
<label for="FirstName">First Name</label>
@Html.DisplayFor(model => model.FirstName)
Outre ce qui précède,
@p.s.w.g a couvert le SEC aspect de cette question. Je voudrais aussi savoir si elle aide à la localisation. c'est à dire. Différentes étiquettes en fonction du paramètre de langue actuel.
Vous devez vous connecter pour publier un commentaire.
Bien, si vous avez décoré vos modèles à la
DisplayNameAttribute
comme ceci:Alors vous ne spécifiez ce que le texte de l'étiquette serait dans un seul endroit. Vous devrez créer une étiquette similaires dans nombre d'endroits, et si jamais vous avez besoin de changer le texte de l'étiquette qu'il serait convenable de ne le faire une fois.
Cela est encore plus important si vous voulez localiser votre application pour les différentes langues, vous pouvez le faire avec le
DisplayAttribute
:Cela signifie également que vous aurez plus fortement typées points de vue. Il est facile pour des gros doigts d'une chaîne comme
"FirstName"
si vous avez ce type de beaucoup, mais à l'aide de la méthode d'aide permettra au compilateur de catch de telles erreurs, la plupart du temps.LabelFor
ouDisplayNameFor
dans d'autres endroits tout au long de votre application.title
attribut lorsque l'utilisateur passe sur un élément.LabelFor
vous permet de tout contrôler à partir de votre modèle de vue sans se soucier de la commande.Permet de dire que vous utilisez le même modèle de vue à 2 endroits, cela signifie que vous pouvez modifier le nom de l'une pour la mise à jour de toutes les commandes.
N'est pas ont à être utilisé, mais il a ses utilise.