Eu só queria ouvir algumas autoridades sobre quando e onde você deve usar um LITERAL
controle sobre a LABEL
.
Pelo que entendi, a diferença é esta: A LABEL
pode ser estilizado por meio das <SPAN>
tags que são adicionadas.
Eu pessoalmente acho a adição de <SPAN>
tags em meu HTML muito irritante e nunca aplico estilos por meio de ASP, então LITERAL
parece ser o que deveria ser usado na maioria das vezes ... mas estou preocupado que haja outras considerações ou benefícios para usando um LABEL sobre ele que não conheço.
É 100% adequado substituir qualquer LABEL
s por LITERAL
s, desde que não estejamos aplicando estilos a eles? NÃO existem outras considerações?
Label
controles ASP.Net devem sempre ser usados quando você deseja um<label>
elemento HTML . Além disso, os rótulos renderizam o texto entre<spans>
, os literais não e os literais fornecem maior controle sobre como o texto é renderizado. Não há eventos especiais em nenhum dos controles e seu conteúdo pode ser acessado no code-behind exatamente da mesma maneira (por meio daText
propriedade).Label
controles, poderá adicionar oAssociatedControlID
atributo com o ID da caixa de seleção ou botão de opção ao qual o rótulo está associado. Dessa forma, você pode clicar no rótulo, e o controle associado será ativado. Aumentar a área de destino clicável também tornará a interface do usuário mais fácil de usar.Quando você tem um código semelhante a
É ideal usar um elemento de rótulo porque ele irá transformá-lo corretamente em um
label
elemento html com ofor
atributo correto direcionado à sua caixa de texto, de modo que se um usuário clicar no rótulo, ele automaticamente definirá o cursor dentro do campo de texto.Caso contrário, use o literal, a menos que ter o texto dentro de um
span
seja benéfico para o estilo css.fonte
Para exibir texto simples, texto formatado ou texto HTML como está, começarei com literal primeiro, pois é mais leve e não emite tags de SPAN extras.
Veja este video que demonstra sobre essas tags extras.
Mas não podemos aplicar CSS em um literal, não podemos adicionar atributos como Label1.Attributes.Add a um literal. Qualquer coisa orientada a contêiner não pode ser alcançada, já que literal não é circundada por uma tag SPAN.
Também é triste ver muitos caras do ASP.NET Webform escolherem, por padrão, o rótulo para exibir o texto sem saber que ele gera tags SPAN extras que podem tornar seu HTML pesado se você tiver muitos rótulos.
fonte
Diferença de rótulo b / w e controle literal em asp.net
Em quase todos os aspectos, um controle Literal é igual a um controle Label. Ambos os controles são usados para exibir texto em um formulário da web. (A propriedade Text pode ser definida no HTML ou no code-behind.)
A maior diferença é que o controle Label envolve o texto em um
span
quando renderizado. Qualquer estilo aplicado ao controle Label será renderizado usando astyle
propriedade dospan
.Por exemplo, o seguinte HTML
Será processado como
<span id="Label1" style="color:Red;font-weight:bold;">Label Text</span>
Um controle Literal não produz nenhuma tag circundante, então o Texto é exibido como está:
Por exemplo, o seguinte HTML
será processado como
Literal Control Text
Portanto, se você quiser aplicar qualquer estilo a um, use o controle Label, caso contrário, use o controle Literal. Por causa disso, o controle Literal é um controle leve, quando comparado com o controle Label.
FYI: A hierarquia de herança para a classe de controle Literal é (Object => Control => Literal) , onde, como para o controle Label, a hierarquia é (Object => Control => WebControl => Label)
fonte
mode="PassThrough"
: techrepublic.com/blog/software-engineer/…