Основное отличие состоит в том, что элемент управления 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.