c# - para - control literal asp net
ASP.Net: Literal vs Label (4)
Solo quería escuchar a algunas autoridades sobre cuándo y dónde debe usar un control LITERAL
sobre una LABEL
.
Según tengo entendido, la diferencia es esta: una etiqueta se puede diseñar a través de las etiquetas <SPAN>
que se agregan.
Personalmente encuentro que agregar etiquetas <SPAN>
en mi HTML es muy molesto y nunca aplicar estilos a través de ASP, por lo que los LITERAL
parecen ser los que deberían usarse la mayor parte del tiempo ... pero me preocupa que haya otros consideraciones o beneficios de usar una ETIQUETA sobre él que desconozco.
¿Está 100% correcto reemplazar cualquier LABEL
con LITERAL
s, siempre que no les apliquemos estilos? ¿No hay otras consideraciones?
Cuando tienes un código similar a
<asp:Label EnableViewState="false" ID="Label8" runat="server"
AssociatedControlID="txtEmail">Email Address:</asp:Label>
<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
Es óptimo utilizar un elemento de etiqueta porque lo convertirá correctamente en un elemento de label
html con el atributo for
atributo correcto for
su cuadro de texto, de modo que si un usuario hace clic en la etiqueta, automáticamente coloca su cursor dentro del campo de texto.
De lo contrario, use el literal a menos que tener el texto envuelto en un span
sea ​​beneficioso para el estilo css.
Sí, la principal diferencia es que los controles Literal
simplemente procesan texto, pero los controles Label
rodean con etiquetas <span>
(a menos que use la propiedad AssociatedControlID
, en cuyo caso un control Label
representará una <label>
).
Por lo tanto, las etiquetas se pueden diseñar con más facilidad, pero si solo está insertando texto, los literales son el camino a seguir. Los controles literales también tienen un práctico Mode
propiedad que gobierna cómo se representa el texto. Puede tenerlo codificado en HTML, o representarse sin ningún cambio, o eliminar cualquier "elemento de lenguaje de marcado no soportado".
Si no está aplicando ningún estilo (por ejemplo, usando la propiedad CssClass
Label
), estará bien reemplazar los controles Label
con controles Literal
.
Diferencia b / w Label y Literal Control en asp.net
En casi todas las formas, un control literal es igual que un control de etiqueta. Ambos controles se utilizan para mostrar texto en un formulario web. (La propiedad Text se puede establecer en el HTML o en el código subyacente).
La mayor diferencia es que el control Label envuelve el texto en un span
cuando se procesa. Cualquier estilo que se aplique al control Label se representará utilizando la propiedad de style
del span
.
Por ejemplo, el siguiente HTML
<asp:Label ID="Label1" runat="server" Text="Label Text"
ForeColor="Red" Font-Bold="true" ></asp:Label>
Se representará como
<span id="Label1" style="color:Red;font-weight:bold;">Label Text</span>
Un control literal no genera ninguna etiqueta circundante, por lo que el texto se muestra como está:
Por ejemplo, el siguiente HTML
<asp:Literal ID="Literal1" runat="server"
Text="Literal Control Text"></asp:Literal>
se representará como
Literal Control Text
Por lo tanto, si desea aplicar cualquier estilo a a, use el control de etiqueta; de lo contrario, use el control Literal. Debido a esto, el control Literal es un control ligero, cuando se compara con el control Label.
FYI: La jerarquía de herencia para la clase de control Literal es (Object => Control => Literal) , mientras que para el control Label, la jerarquía es (Object => Control => WebControl => Label)
Para mostrar texto simple, texto formateado o texto HTML tal como está, comenzaré por literal primero porque es liviano y no emite etiquetas SPAN adicionales.
Mira este video que demuestra sobre esas etiquetas adicionales.
Pero no podemos aplicar CSS en un literal, no podemos agregar atributos como Label1.Attributes.Add a un literal. No se puede lograr ningún elemento orientado al contenedor ya que literal no está rodeado por una etiqueta SPAN.
También es triste ver que mucha gente de ASP.NET Webform elige etiqueta de forma predeterminada para mostrar el texto sin saber que genera etiquetas SPAN adicionales que pueden hacer que tu HTML sea pesado si tienes mucha etiqueta.