label ou @ html.Label ASP.net MVC 4
Débutant à l'ASP.net MVC 4 et en essayant de donner un sens de Rasoir. Si je voulais juste afficher du texte dans mon .cshtml page, puis-je utiliser
<label class="LabelCSSTop">Introduction</label>
ou dois-je utiliser:
@Html.Label("STW", htmlAttributes: new { @class = "LabelCSSTop" })
Pas sûr si l'un est préférable à l'autre ou si les deux sont d'accord. Si ce dernier émet l'étiquette étiquette de toute façon, je devrais m'en tenir simplement à l'ancien?
Encore une fois, si je voulais juste afficher une zone de texte, puis-je simplement faire ceci:
<input id="txtName" type="text" />
ou dois-je faire ceci:
@Html.TextBox("txtName", "")
Il existe une situation quand je dois utiliser le @Html-dessus de l'ordinaire balise html?
Merci d'avance!!
source d'informationauteur alpha
Vous devez vous connecter pour publier un commentaire.
Dans le cas de votre étiquette extrait de code, il n'a pas vraiment d'importance. Je pencherais pour la syntaxe plus simple (HTML).
La plupart des méthodes d'assistance ne vous permet pas de vous entourer d'un autre élément. Cela peut être une considération lors du choix d'utiliser/ne pas utiliser un.
Fortement Typées Équivalents De
Cependant, il est intéressant de noter que ce que vous utilisez le
@Html.[Element]For<T>()
méthodes que vous gagnez des caractéristiques importantes. Notez le "Pour" à la fin du nom de la méthode.Exemple:
Cela permettra de gérer ID/Nom de la création basée sur la hiérarchie de l'objet (ce qui est essentiel pour la liaison du modèle). Il ajoutera aussi discrète attributs de validation. Ces méthodes prennent comme argument une Expression qui se réfère à une propriété dans le modèle. Les métadonnées de cette propriété est obtenue par le framework MVC, et comme tel, il "sait" en savoir plus sur la propriété de sa chaîne d'argument homologue.
Il permet aussi de traiter avec le code de l'INTERFACE utilisateur dans un typage fort à la mode. Visual Studio va mettre en évidence les erreurs de syntaxe, alors qu'il ne peut pas le faire avec une chaîne. Les vues peuvent aussi éventuellement être compilé avec la solution, ce qui permet pour plus de contrôles de compilation.
D'Autres Considérations
De temps en temps une méthode d'assistance HTML permettra également d'effectuer des tâches supplémentaires qui sont utiles, comme les
Html.Checkbox
etHtml.CheckboxFor
qui a aussi créer un champ caché pour aller avec la case à cocher. Autre exemple, l'URL méthodes associées (par exemple pour un lien hypertexte) qui sont la route.Il y a un léger avantage en termes de performances à l'aide de HTML versus code qui doit être exécuté à chaque fois que la vue est rendue, il faut bien que cette pas être le facteur décisif.
Dépend de ce que vous faites.
Si vous avez SPA (Single Page Application) que vous pouvez utiliser:
Autrement à l'aide de Html helpers est recommandé, pour obtenir vos contrôles liés à votre modèle.
Si tu veux juste afficher du texte dans votre .cshtml page, je ne recommande pas @Html.Étiquette et aussi de ne pas utiliser l'étiquette html. L'élément représente une légende dans une interface utilisateur. et vous verrez que, dans le cas de @Html.L'étiquette, un pour attribut est ajouté, se référant à l'id d'un, peut-être non-existant, de l'élément. La valeur de cet attribut est la valeur du champ de modèle, dans lequel les non-alphanumériques sont remplacés par des underscores.
Vous devez utiliser @Html.Affichage ou @Html.Méthode displayfor, éventuellement, enveloppés dans une plaine éléments html de la ligne de durée ou de la p.
Les aides sont là principalement pour vous aider à afficher les étiquettes, les entrées de formulaire, etc pour la fortement typé propriétés de votre modèle. En utilisant les aides et l'Intellisense de Visual Studio, vous pouvez réduire considérablement le nombre de fautes que vous pourriez faire lors de la génération d'une page web.
Avec cela dit, vous pouvez continuer à créer vos éléments manuellement pour les deux propriétés de votre modèle d'affichage ou les éléments que vous souhaitez afficher qui ne font pas partie de votre modèle de vue.
Quand il s'agit de les étiquettes, je dirais que c'est à vous ce que vous préférez. Quelques exemples quand il peut être utile avec le helper HTML, les balises sont, par exemple
@Html.LabelFor
@Html.TextBoxFor
etc@Html.EditorFor
comme vous pouvez affecter le comportement spécifique de och se regarde dans un éditeur de vue@html.étiquette et @html.zone de texte sont à utiliser lorsque vous souhaitez lier à votre modèle dans un moyen facile...ce qui ne peut être obtenu en entrée etc. dans une ligne