sirve para net literal control asp c# asp.net html controls

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.