ASP.Net: литерал против метки
Я просто хотел услышать какие-то органы о том, когда и где вы должны использовать LITERAL контроль над a LABEL.
как я понимаю, разница заключается в следующем: A LABEL можно стилизовать через <SPAN> теги, которые добавляются.
Я лично нахожу добавление <SPAN> теги в моем HTML, чтобы быть очень раздражающим и никогда не применять стили через ASP, и так LITERALs, кажется, то, что должно использоваться большую часть времени... но я беспокоюсь, что есть другое соображения или преимущества использования ярлыка над ним, о которых я не знаю.
это 100% нормально, чтобы заменить любой LABELС LITERALs, при условии, что мы не применяем стили к ним? Разве нет других соображений?
4 ответов:
да, главное отличие в том, что
Literalэлементы управления просто выводят текст, ноLabelэлементы управления окружают его с<span>теги (если вы не используетеAssociatedControlIDсвойство, в этом случае aLabelуправление будет отображать<label>tag).таким образом, ярлыки можно стилизовать проще, но если вы просто вставляете текст, литералы-это путь. Литеральные элементы управления также имеют удобное свойство
Mode, который определяет, как текст отображается. Вы можете иметь его в HTML-кодировке, или визуализируется без каких-либо изменений или удаляются любые "неподдерживаемые элементы языка разметки".если вы не применяете никаких стилей (например, с помощью
Label' sCssClassсвойства), это будет хорошо, чтобы заменитьLabelуправленияLiteralуправление.
когда у вас есть код, подобный
<asp:Label EnableViewState="false" ID="Label8" runat="server" AssociatedControlID="txtEmail">Email Address:</asp:Label> <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>оптимально использовать элемент label, потому что он правильно превратит его в html
labelэлемент с правильнымforатрибут, предназначенный для вашего текстового поля, так что если пользователь нажимает на метку, он автоматически устанавливает курсор внутри текстового поля.в противном случае используйте литерал, если текст не завернут в
spanбыло бы полезно для стиля css.
чтобы отобразить простой текст, форматированный текст или текст HTML, как это я начну с литерала сначала как его легкий и не выделяет дополнительные теги SPAN.
посмотреть видео что демонстрирует эти дополнительные теги.
но мы не можем применить CSS к литералу , мы не можем добавить атрибуты, такие как Label1.Атрибуты.Добавить в литерал. Любые ориентированные на контейнер вещи не могут быть достигнуты, поскольку литерал не окружен промежутком метка.
Это также грустно видеть много ASP.NET ребята Webform по умолчанию выбирают label для отображения текста, не зная, что он генерирует дополнительные теги SPAN, которые могут сделать ваш HTML тяжелым, если у вас есть много ярлыков.
метка разницы Б / В и Литеральный контроль внутри asp.net
почти во всех отношениях Литеральный элемент управления совпадает с элементом управления Label. Оба эти элементы управления используются для отображения текста на форме. (Свойство Text может быть задано в HTML или в коде программной части.)
самое большое различие заключается в том, что элемент управления Label обертывает текст в
spanпри отрисовке. Любой стиль, примененный к элементу управления Label, будет отображаться с помощьюstyleсобственность изspan.например, следующий HTML
<asp:Label ID="Label1" runat="server" Text="Label Text" ForeColor="Red" Font-Bold="true" ></asp:Label>будет отображаться как
<span id="Label1" style="color:Red;font-weight:bold;">Label Text</span>Литеральный элемент управления не выводит никаких окружающих тегов, поэтому текст отображается следующим образом:
например, следующий HTML
<asp:Literal ID="Literal1" runat="server" Text="Literal Control Text"></asp:Literal>будет отображаться как
Literal Control Textпоэтому, если вы хотите применить какие-либо стили к A, чем использовать элемент управления Label в противном случае используйте Литеральный элемент управления. Из-за этого буквальный элемент управления является легким по сравнению с элементом управления Label.
FYI: иерархия наследования для класса Литерального элемента управления (Object = > Control = > Literal), где что касается элемента управления Label, иерархия (Объект => Управление => Сторон Компании Webcontrol=> Метка)

Comments