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?
River Raid
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.
Ultima Online
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
Máquina de Pascal
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
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.
Nintendo Entertainment System
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.