Y a-t-il une bonne raison d'utiliser l'aide html fortement typée...
<%: Html.DisplayTextFor(model => model.Email) %>
Par opposition à...
<%: Model.Email %>
Y a-t-il une bonne raison d'utiliser l'aide html fortement typée...
<%: Html.DisplayTextFor(model => model.Email) %>
Par opposition à...
<%: Model.Email %>
Considérons le modèle suivant :
public class MyModel
{
public string Name { get; set; }
[DisplayFormat(NullDisplayText = "No value available!")]
public string Email { get; set; }
}
à mon avis :
<%= Html.DisplayTextFor(m => m.Email) %>
<%: Model.Email %>
La première ligne affichera "No value available" si nous laissons l'email à 'null' alors que la deuxième ligne n'affichera rien.
Conclusion : Html.DisplayTextFor prendra en compte les DataAnnotations de vos propriétés, <%: Model.Email %>
ne le fera pas. Aussi <%: Model.Email %>
lancera une "erreur de référence d'objet" si la valeur est nulle, mais <%= Html.DisplayTextFor %>
wont.
DisplayTextFor sera également appelé pendant l'exécution de "DisplayFor" et "EditFor". Cela permettra de s'assurer que toutes les aides modélisées afficheront le texte en utilisant les aides modélisées correctes si elles sont définies... ainsi, une modification de l'aide modélisée unique se propagera à tous les affichages de cet élément de texte... affichage simple, formulaire de modification, formulaires de création, etc.
Eh bien, DisplayTextFor ne sera pas interrompu si vous ne passez pas de modèle (ou passez null). Model.Email lèvera une exception en cas de nullité. Ainsi, DisplayTextFor est plus robuste.
L'intérêt des aides fortement typées est de permettre une meilleure vérification à la compilation. C'est très pratique lors de la refactorisation.
DisplayTextFor permet d'utiliser une construction cohérente (avec les autres aides fortement typées) dans toute la page. Certaines personnes pourraient trouver cela plus attrayant.
DisplayTextFor vous permet également de passer les noms des modèles et des champs comme paramètres.
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.