Quelle est la différence entre Html.Zone de texte et Html.TextboxFor?
Réponses
Trop de publicités?Finalement, ils produisent le même code HTML mais Html.TextBoxFor() est fortement typé, où, comme Html.Zone de texte n'est pas.
1: @Html.TextBox("Name")
2: Html.TextBoxFor(m => m.Name)
permettra à la fois de produire de l'
<input id="Name" name="Name" type="text" />
Donc, ce que cela signifie en termes d'utilisation?
Généralement deux choses:
- L'tapé
TextBoxFor
va générer vos noms d'entrée pour vous. C'est habituellement juste le nom de la propriété, mais pour les propriétés de types complexes peuvent inclure un trait de soulignement comme "customer_name' - À l'aide de l'tapé
TextBoxFor
version vous permettra d'utiliser la compilation de la vérification. Donc, si vous changer de modèle, alors vous pouvez vérifier s'il y a des erreurs dans vos vues.
Il est généralement considéré comme une meilleure pratique pour utiliser les versions fortement typées de la HtmlHelpers qui ont été ajoutés dans MVC2.
L' TextBoxFor
est une nouvelle MVC entrée extension introduit dans MVC2.
Le principal avantage de la plus récente fortement typé extensions est de montrer toutes les erreurs / avertissements lors de la compilation plutôt que de l'exécution.
Voir cette page.
http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx
De l'OMI, la principale différence est que la zone de texte n'est pas fortement typé. TextboxFor prendre un lambda comme paramètre à dire à l'aide la à un élément du modèle à utiliser dans un typée vue.
Vous pouvez faire la même choses avec les deux, mais vous devez utiliser tapé points de vue et TextboxFor lorsque cela est possible.