Aparentemente estes dois componentes do ASP.Net apenas exibem dados na tela, mas a forma como trabalham internamente é diferente. Vamos entender suas diferenças.

O componente Label é mais indicado para rotular outros controles na sua página ASPX, pois além de exibir textos ele pode receber, de maneira direta, estilos em CSS, através do complemento CssClass.

O componente Literal apenas reserva um local em sua página para a exibição de textos, no entanto ele não pode receber estilos CSS de maneira direta, ou seja, você não pode inserir o parâmetro CssClass em sua tag.

A forma como eles são renderizados no navegador também difere. Vejam este código ASPX abaixo:

<asp:Label ID="Label1" runat="server" Text="Texto do seu Label"></asp:Label>
<asp:Literal ID="Literal1" runat="server" Text="Texto do seu Literal"></asp:Literal>


No navegador isso será renderizado da seguinte forma:

<span id="Label1">Texto do seu Label</span>
Texto do seu Literal


Notem que o componente Label gerou a tag <span> automaticamente, enquanto o Literal apenas escreveu o texto na tela, sem qualquer outra interferência.


Outras dicas de Asp.NET


Acessando ou modificando o label de uma Master Page

Adicionando itens a um Dropdownlist

Adicionando um atributo css dinamicamente

Alterando a cor padrão de um componente de texto (Textbox)

Alterando dinamicamente a cor do texto de um botão

Alterando o título da Master Page

Alterando o título de uma página filha

Associando uma classe CSS a um componente dinamicamente

Atualizando a página em tempo programado

Como chamar função C# a partir de Javascript

Convertendo DataSet em DataTable

Convertendo DataTable em DataSet

Criando e lendo Cookies

Criando um DataTable através de código C#

Criando, lendo e destruindo variáveis de sessão

Definindo um valor padrão em um Dropdownlist

Desabilitando o POST do Enter

Desabilitando o Postback de um botão

Diferença entre Session.RemoveAll, Session.Clear e Session.Abandon

Diferenças entre Label e Literal

Especificando Maxlength em campos multiline

Exceções mais comuns

Image Button passando valor para função C#

Impedindo a persistência de dados em DataTable através do comando Clear()

Impedindo dois cliques em um botão

Javascript capturando elementos na ContentPage

Lista de cores do método System.Drawing.Color

Ocultando coluna do DataGridView

Ocultando DIV na Master Page

Ocultando um elemento na Master Page

Percorrendo as linhas de um DataTable

Percorrendo um RadioButtonList

Retornando o dia da semana

Solicitando confirmação antes de um postback

Validando Radiobutton com Javascript

Validando tipos de arquivos para FileUpload

Validando um DropDownList através de Javascript

Verificando a existência de um Cookie

Verificando a existência de uma coluna em um DataSet

Você Sabia?

O épico jogo River Raid, do Atari, foi desenhado e boa parte de sua programação foi feita por uma mulher: Carol Shaw, uma excelente programadora e funcionária da Activision em 1982. Saiba mais sobre a história deste incrível jogo, aqui.


Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras


A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.


Street Fighter 2, lançado para o Super Nintendo no início dos anos 90, foi o principal responsável pelo aumento nas vendas deste console. Graças ao sucesso do título nos Arcades e à perfeita adaptação ao console, muitos consumidores adquiriram o SNES para jogarem o título em casa. Saiba mais.


O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.