Em diversas situações temos que adequar os elementos da pagina que estamos desenvolvendo ao layout que foi especificado, so que em alguns controles asp.net não fica claro como deve ser feita a aplicação do estilo para obter o efeito necessário. Ou então não sabemos ao certo que controle utilizar em cada situação
Para isso é essencial sabermos o qua cada controle renderiza na tela.
Vamos começar por dois controles muito utilizados, aparentemente com mesma função mais cada um com uma funcionalidade e comportamento diferente.
Label e Literal:
Label:
<asp:Label ID=”Label1″ runat=”server” Text=”Label”></asp:Label>
Renderização Pagina:
<span id=”Label1″>Label</span>
Literal
<asp:Literal ID=”Literal1″ runat=”server” Text=”Literal1″></asp:Literal>
Renderização Pagina:
Literal1
Aplicando estilos:
Em um Label podemos adicionar a cssClass diretamente no controle:
<asp:Label ID=”Label1″ runat=”server” CssClass=”style01“ Text=”Label”></asp:Label>
Será renderizado
<span id=”Label1″ class=”style01″>Label</span>
Já em um literal para obter o mesmo efeito será necessário colocar o controle Literal dentro de uma tag span com o estilo associado
<span class=”style02″>
<asp:Literal ID=”Literal1″ runat=”server” Text=”Literal1″></asp:Literal>
</span>
Será renderizado
<span class=”style02“> Literal1 </span>
Com isso o literal é mais indicado para quando se vai “escrever” html na pagina, como ao trazer um texto com formatação html de um Banco de Dados. Intuitivamente um label deve ser utilizado quando o texto precisar de uma formatação ou for necessário o texto estar dentro de uma tag span.
Obrigado
Rodolfo
*fonte(Taurã Figueiredo, a quem sempre me faz “pensar sobre o que eu estou programando”)

