Justamente tenia este post en el tintero porque hace unos dias conversamos en los grupos de noticias de asp.net sobre la diferencia de webcontrol Literal y Label, y justamente hoy leí el post en Geeks.ms de Sergio Tarrillo: Diferencia entre un control Litral y un control Label (asi que los invito a leerlo con enlaces interesantes)
Asi que esta primera parte ya estaba escrita.
Si tenemos la famosa frase: «Que la fuerza te acompañe», y utilizamos los dos controles para visualizar
<asp:Label ID="lblEjemplo" runat="server" Text="Que la Fuerza te acompañe."></asp:Label> <br /> <asp:Literal ID="ltlEjemplo" runat="server" Text="Que la Fuerza te acompañe."></asp:Literal>
Como dice Sergio en tu articulo, renderiza en esto si vemos el HTML resultante…
<span id="ctl00_contenidoCentral_lblEjemplo">Que la Fuerza te acompañe.</span> <br /> Que la Fuerza te acompañe.
Esto tambien trae la una consecuencia, que es que puede mostrar cualquier cosa, un script por ejemplo :O , asi que hay que tomarlo con pinzas.
- PassThrough:
No se modifica el contenido del control.
Ejemplo:<asp:Literal ID="ltlEjemplo_PassThrough" runat="server" Text="Que la <strong>Fuerza</strong> te acompañe. N° 123" Mode="PassThrough"></asp:Literal>
Salida:
Que la <strong>Fuerza</strong> te acompañe. N° 123
- Encode:
Se codifica el contenido a HTML
Ejemplo:
<asp:Literal ID="ltlEjemplo_PassThrough" runat="server" Text="Que la <strong>Fuerza</strong> te acompañe. N° 123" Mode="Encode"></asp:Literal>
Salida:
Que la <strong>Fuerza</strong> te acompañe. N° 123
Interesante modo cuando queremos presentar contenido HTML, y mostrando el codigo formateado, sin tener que recurrir a HttpUtility.HTMLEncode
- Transform:
Los elementos del lenguaje de marcado no compatibles se quitan del contenido del control.
Al decir que no es compatible: si el explorador admite HTML o XHTML el comportamiento es identico al modo PassThrough
Ejemplo:
<asp:Literal ID="ltlEjemplo_PassThrough" runat="server" Text="Que la <strong>Fuerza</strong> te acompañe. N° 123" Mode="Transform"></asp:Literal>
Bueno como no tengo instalado un navegador wap para testar imaginemos que realiza lo que dice 😉
Si por ejemplo la etiqueta encierra un contenido <EtiquetaNoValida>Contenido</EtiquetaNoValida>, este contenido se envia, pero la etiqueta no.
Enlaces
- Label (Clase)
Representa un control de etiqueta que muestra texto en una página Web. - Literal (Clase)
Reserva una ubicación en la página Web para mostrar texto estático. - Literal.Mode (Propiedad)
Obtiene o establece un valor de enumeración que especifica cómo se representa el contenido del control Literal.
Hola, felicidades por tu contribución. Te pido de favor me ayudes a ejecutar una página (HTML o ASP) de manera dinámica, es decir que el nombre del archivo a ejecutar sea una cadena variable…
gracias y espero me ayudes
Hola, felicidades por tu contribución. Te pido de favor me ayudes a ejecutar una página (HTML o ASP) de manera dinámica, es decir que el nombre del archivo a ejecutar sea una cadena variable…
gracias y espero me ayudes
haxr_67@yahoo.com