Je voulais juste entendre certaines autorités sur quand et où vous devriez utiliser un LITERAL
contrôle sur un fichier LABEL
.
Si je comprends bien, la différence est la suivante: A LABEL
peut être stylisé via les <SPAN>
balises qui sont ajoutées.
Personnellement, je trouve que l'ajout de <SPAN>
balises dans mon HTML est très ennuyeux et n'applique jamais de styles via ASP, et LITERAL
semble donc être ce qui devrait être utilisé la plupart du temps ... mais je crains qu'il y ait d' autres considérations ou avantages à en utilisant un LABEL dessus que je ne connais pas.
Est-il 100% correct de remplacer des LABEL
s par des LITERAL
s, à condition que nous ne leur appliquions pas de styles? N'y a-t-il PAS d'autres considérations?
Label
contrôles ASP.Net doivent toujours être utilisés lorsque vous souhaitez un<label>
élément HTML . En dehors de cela, les libellés rendent le texte entre<spans>
, les littéraux non, et les littéraux vous donnent un meilleur contrôle sur la façon dont le texte est rendu. Il n'y a aucun événement spécial sur les deux contrôles et leur contenu est accessible dans le code-behind exactement de la même manière (via laText
propriété).Label
contrôles, vous pouvez ajouter l'AssociatedControlID
attribut avec l'ID de la case à cocher ou du bouton radio auquel l'étiquette est associée. De cette façon, vous pouvez cliquer sur l'étiquette, et le contrôle associé sera activé. L'agrandissement de la zone cible cliquable rendra également l'interface utilisateur plus facile à utiliser.Lorsque vous avez un code similaire à
Il est optimal d'utiliser un élément d'étiquette car il le transformera correctement en un
label
élément html avec le bonfor
attribut ciblant votre zone de texte, de sorte que si un utilisateur clique sur l'étiquette, il place automatiquement son curseur dans le champ de texte.Sinon, utilisez le littéral à moins que le texte enveloppé dans un
span
ne soit avantageux pour le style css.la source
Pour afficher du texte simple, du texte formaté ou du texte HTML tel quel, je commencerai par littéral en premier car il est léger et n'émet pas de balises SPAN supplémentaires.
Regardez cette vidéo qui montre ces balises supplémentaires.
Mais on ne peut pas appliquer CSS sur un littéral, on ne peut pas ajouter d'attributs comme Label1.Attributes.Add à un littéral. Aucune chose orientée conteneur ne peut être réalisée car littéral n'est pas entouré d'une balise SPAN.
Il est également triste de voir que beaucoup de gars ASP.NET Webform choisissent par défaut l'étiquette pour afficher le texte sans savoir qu'elle génère des balises SPAN supplémentaires qui peuvent alourdir votre HTML si vous avez beaucoup d'étiquettes.
la source
Différence entre l'étiquette et le contrôle littéral dans asp.net
Dans presque tous les cas, un contrôle Literal est identique à un contrôle Label. Ces deux contrôles sont utilisés pour afficher du texte sur un formulaire Web. (La propriété Text peut être définie dans le HTML ou dans le code-behind.)
La plus grande différence est que le contrôle Label enveloppe le texte dans un
span
lors du rendu. Tout style appliqué au contrôle Label sera rendu à l'aide de lastyle
propriété duspan
.Par exemple, le code HTML suivant
Sera rendu comme
<span id="Label1" style="color:Red;font-weight:bold;">Label Text</span>
Un contrôle Literal ne génère aucune balise environnante, le texte est donc affiché tel quel:
Par exemple, le code HTML suivant
sera rendu comme
Literal Control Text
Donc, si vous souhaitez appliquer des styles à un contrôle que, utilisez Label, utilisez le contrôle Literal. Pour cette raison, le contrôle Literal est un contrôle léger, par rapport au contrôle Label.
Pour info: la hiérarchie d'héritage pour la classe de contrôle Literal est (Object => Control => Literal) , où comme pour le contrôle Label, la hiérarchie est (Object => Control => WebControl => Label)
la source
mode="PassThrough"
: techrepublic.com/blog/software-engineer/…