Chciałem tylko usłyszeć kilka autorytetów, kiedy i gdzie należy używać LITERAL
kontroli nad domeną LABEL
.
Jak rozumiem, różnica jest następująca: A LABEL
można stylizować za pomocą <SPAN>
dodanych tagów.
Osobiście uważam, że dodawanie <SPAN>
tagów w moim kodzie HTML jest bardzo irytujące i nigdy nie stosuję stylów przez ASP, więc LITERAL
wydaje się, że to jest to, co powinno być używane przez większość czasu ... ale obawiam się, że są inne względy lub korzyści używając ETYKIETY, o której nie wiem.
Czy w 100% można zastąpić dowolne LABEL
s przez LITERAL
s, pod warunkiem, że nie stosujemy do nich stylów? Czy NIE ma innych powodów?
Label
Kontrolki ASP.Net powinny być zawsze używane, gdy potrzebujesz<label>
elementu HTML . Poza tym Etykiety renderują tekst pomiędzy<spans>
, Literały nie, a Literały zapewniają większą kontrolę nad sposobem renderowania tekstu. W żadnej kontrolce nie ma żadnych specjalnych zdarzeń, a do ich zawartości można uzyskać dostęp w kodzie w dokładnie ten sam sposób (za pośrednictwemText
właściwości).Label
formantów, możesz dodaćAssociatedControlID
atrybut z identyfikatorem pola wyboru lub przycisku opcji, z którym jest skojarzona etykieta. W ten sposób możesz kliknąć etykietę, a skojarzona z nią kontrolka zostanie aktywowana. Zwiększenie klikalnego obszaru docelowego również ułatwi korzystanie z interfejsu użytkownika.Gdy masz kod podobny do
Optymalne jest użycie elementu etykiety, ponieważ poprawnie przekształci go on w
label
element html z odpowiednimfor
atrybutem skierowanym do pola tekstowego, tak że jeśli użytkownik kliknie etykietę, automatycznie ustawi kursor w polu tekstowym.W przeciwnym razie użyj literału, chyba że tekst zawinięty w a
span
byłby korzystny dla stylizacji CSS.źródło
Aby wyświetlić prosty tekst, sformatowany tekst lub tekst HTML tak, jak jest, zacznę od dosłownego, ponieważ jest lekki i nie emituje dodatkowych znaczników SPAN.
Zobacz ten film, który przedstawia te dodatkowe tagi.
Ale nie możemy zastosować CSS do literału, nie możemy dodać atrybutów takich jak Label1.Attributes.Add do literału. Żadnych rzeczy zorientowanych na kontener nie można osiągnąć, ponieważ literał nie jest otoczony znacznikiem SPAN.
Smutne jest również to, że wielu facetów od formularzy internetowych ASP.NET domyślnie wybiera etykietę do wyświetlania tekstu, nie wiedząc, że generuje dodatkowe znaczniki SPAN, które mogą sprawić, że HTML będzie ciężki, jeśli masz dużo etykiet.
źródło
Różnica b / w etykieta i kontrola literału w asp.net
Prawie pod każdym względem formant Literal jest taki sam jak kontrolka Label. Obie te kontrolki służą do wyświetlania tekstu w formularzu internetowym. (Właściwość Text można ustawić w kodzie HTML lub w kodzie).
Największą różnicą jest to, że kontrolka Label zawija tekst w a
span
podczas renderowania. Każdy styl zastosowany do kontrolki Label zostanie renderowany przy użyciustyle
właściwościspan
.Na przykład następujący kod HTML
Zostanie renderowany jako
<span id="Label1" style="color:Red;font-weight:bold;">Label Text</span>
Formant Literal nie generuje żadnych otaczających tagów, więc tekst jest wyświetlany tak, jak jest:
Na przykład następujący kod HTML
będzie renderowany jako
Literal Control Text
Więc jeśli chcesz zastosować jakiekolwiek style do a niż użyj kontrolki Label, w przeciwnym razie użyj kontrolki Literal. Z tego powodu kontrolka Literal jest lekką kontrolką w porównaniu z kontrolką Label.
FYI: Hierarchia dziedziczenia dla klasy kontrolnej Literal to (Object => Control => Literal) , gdzie w przypadku kontrolki Label hierarchia to (Object => Control => WebControl => Label)
źródło
mode="PassThrough"
: techrepublic.com/blog/software-engineer/ ...