Для чего используется элемент управления Literal и в чем отличие от элемента управления Label в asp.net? - PullRequest
16 голосов
/ 04 февраля 2009

Для чего используется буквальный контроль в asp.net? и в чем разница между ними и ярлыком контроля?

Ответы [ 7 ]

20 голосов
/ 04 февраля 2009

Основное отличие состоит в том, что элемент управления Label добавляет тег span к заданному вами тексту (свойству), позволяя применить к нему стиль:

<span>My Label text</span>

Элемент управления Literal позволяет отображать любой вид содержимого. Вы можете использовать его для рендеринга скриптов, hmtl и любого другого типа содержимого документа. Он не меняет строку, указанную в свойстве Text.

Примечание. Элемент управления Label также позволяет отображать прямой HTML, но он помещает весь ваш текст в теги span, как уже упоминалось. Таким образом, для рендеринга больших HTML-частей лучше использовать Literal.

P.S .: В HTML есть тег <label>. Если вы используете свойство AssociatedControlId элемента управления Label, оно будет отображаться как HTML <label> (спасибо Рэю за указание на это.)

Например:

<asp:Label runat="server" id="FirstNameLabel" AssociatedControlId="FirstNameTextBox">
Input First Name:
</asp:Label>
<asp:Textbox runat="server" id="FirstNameTextBox" />

будет отображаться как:

<label for="FirstNameTextbox" id="FirstNameLabel">Input first name:</label>
<input type="text" id="FirstNameTextbox" name="FirstNameTextBox" />

См. Также здесь в школах W3.

4 голосов
/ 19 июля 2009

Стоит также отметить, что если вы просто используете это для отображения чего-либо и вам не нужно форматировать текст, используйте элемент управления Literal. ViewState не такой тяжелый, как элемент управления Literal vs Label, и если у вас их много на странице, использующей ViewState, он действительно может увеличить размер страницы.

Я всегда спрашиваю себя, нужно ли применять собственный стиль или форматирование? Да, используйте ярлык. Нет, используйте литерал.

2 голосов
/ 04 февраля 2009

Элемент управления меткой также имеет свойство AssociatedControlId, которое связывает метку с другим элементом управления. Примером того, где это полезно, является элемент управления textbox. После того, как они связаны, программы чтения с экрана более способны давать лучшие результаты.

Другим примером является переключатель с меткой, позволяющий щелкнуть метку, и переключатель будет выбирать, если установлено свойство AssociatedControlId.

MSDN на AssoicatedControlId

2 голосов
/ 04 февраля 2009

Используется для отображения текста на странице, отображаемый текст может быть установлен во время выполнения с помощью кода на стороне сервера.

1 голос
/ 04 февраля 2009

Как упоминает splattne, метка заключает свой текст в диапазон, тогда как литерал является просто заполнителем. Однако, будьте осторожны, делая предположения о том, как элементы управления ASP.Net будут отображаться. Это может зависеть от пользовательского агента, который вы используете. Например, элемент управления панели визуализируется как div в IE, но визуализируется как таблица с Firefox.

0 голосов
/ 17 января 2014
  • Мы можем использовать буквальный контроль в теге title, тогда как label не может использоваться в теге title
  • Метка может использоваться, чтобы установить фокус на другие элементы управления, такие как Textbox. Принимая во внимание, что Literal просто размещает статический текст на веб-странице
0 голосов
/ 04 февраля 2009

Он будет буквально помещать любой текст, который вы поместите в него на странице. Вы можете использовать его для написания HTML, JavaScript или просто текст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...