Я просто хотел услышать авторитетные источники о том, когда и где следует использовать LITERAL
контроль над файлом LABEL
.
Насколько я понимаю, разница заключается в следующем: A LABEL
можно стилизовать с помощью <SPAN>
добавленных тегов.
Я лично считаю, что добавление <SPAN>
тегов в свой HTML-код очень раздражает, и я никогда не применяю стили через ASP, и поэтому LITERAL
кажется, что это то, что следует использовать большую часть времени ... но я обеспокоен тем, что есть другие соображения или преимущества для используя ЭТИКЕТКУ, о которой я не знаю.
Можно ли на 100% заменить любые LABEL
s на LITERAL
s, если мы не применяем к ним стили? НЕТ других соображений?
Label
вам нужен<label>
элемент HTML, всегда следует использовать элементы управления ASP.Net . Кроме того, метки отображают текст между<spans>
, литералы - нет, а литералы дают вам больший контроль над тем, как отображается текст. Для любого элемента управления нет особых событий, и их содержимое можно получить в коде программной части точно так же (черезText
свойство).Label
элементы управления, вы можете добавитьAssociatedControlID
атрибут с идентификатором флажка или переключателя, с которым связана метка. Таким образом, вы можете щелкнуть метку, и соответствующий элемент управления будет активирован. Увеличение кликабельной целевой области также упростит использование пользовательского интерфейса.Когда у вас есть код, похожий на
Оптимально использовать элемент метки, потому что он правильно превратит его в
label
элемент html с правильнымfor
атрибутом, предназначенным для вашего текстового поля, так что если пользователь щелкает метку, он автоматически устанавливает свой курсор внутри текстового поля.В противном случае не использовать буквальный , если имея текст , завернутый в
span
будет полезно для CSS стилей.источник
Чтобы отобразить простой текст, форматированный текст или текст HTML в том виде, в каком он есть, я сначала начну с буквального значения, поскольку он является легким и не выделяет дополнительных тегов SPAN.
Посмотрите это видео, которое демонстрирует эти дополнительные теги.
Но мы не можем применить CSS к литералу, мы не можем добавить атрибуты, такие как Label1.Attributes.Add, к литералу. Любые вещи, ориентированные на контейнер, не могут быть достигнуты, поскольку литерал не окружен тегом SPAN.
Также грустно видеть, что многие ребята из ASP.NET Webform по умолчанию выбирают метку для отображения текста, не зная, что он генерирует дополнительные теги SPAN, которые могут сделать ваш HTML тяжелым, если у вас много меток.
источник
Разница между ч / б меткой и буквальным контролем в asp.net
Практически во всех отношениях элемент управления Literal аналогичен элементу управления Label. Оба эти элемента управления используются для отображения текста в веб-форме. (Свойство Text можно установить в HTML или в коде программной части.)
Самая большая разница в том, что элемент управления Label при отрисовке оборачивает текст в
span
. Любой стиль, применяемый к элементу управления Label, будет отображаться с использованиемstyle
свойства объектаspan
.Например, следующий HTML
Будет отображаться как
<span id="Label1" style="color:Red;font-weight:bold;">Label Text</span>
Элемент управления Literal не выводит окружающие теги, поэтому текст отображается как есть:
Например, следующий HTML
будет отображаться как
Literal Control Text
Поэтому, если вы хотите применить какие-либо стили к a, чем используйте элемент управления Label, в противном случае используйте элемент управления Literal. По этой причине элемент управления Literal является более легким элементом управления по сравнению с элементом управления Label.
К вашему сведению: иерархия наследования для класса управления Literal (Object => Control => Literal) , где, что касается элемента управления Label, иерархия (Object => Control => WebControl => Label)
источник
mode="PassThrough"
: techrepublic.com/blog/software-engineer/…