什么';s用于和的文本控件';asp.net中的标签控件有什么不同?

什么';s用于和的文本控件';asp.net中的标签控件有什么不同?,asp.net,controls,Asp.net,Controls,asp.net中使用的文字控件是什么?它们和标签控件有什么区别 它用于在页面上显示文本,可以在运行时通过服务器端代码设置显示的文本。它将在页面上放置任何文本。您可以使用它来编写html、JavaScript或纯文本 主要区别在于Label控件将span标记添加到您设置的文本(属性)中,从而允许对其应用样式: <span>My Label text</span> 将呈现为: <label for="FirstNameTextbox" id="FirstNameLab

asp.net中使用的文字控件是什么?它们和标签控件有什么区别

它用于在页面上显示文本,可以在运行时通过服务器端代码设置显示的文本。

它将在页面上放置任何文本。您可以使用它来编写html、JavaScript或纯文本

主要区别在于Label控件将span标记添加到您设置的文本(属性)中,从而允许对其应用样式:

<span>My Label text</span>
将呈现为:

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

另请参见W3上的。

标签控件还具有AssociatedControlId属性,该属性将标签与另一个控件相关联。使用textbox控件就是一个很有用的例子。一旦这些关联起来,屏幕阅读器就能够给出更好的结果

另一个示例是带有标签的单选按钮,允许您单击标签,如果设置了AssociatedControlId属性,则该单选按钮将进行选择


正如splattne所提到的,标签将文本包含在一个span中,而文本只是一个占位符。但是,在假设ASP.Net控件将如何呈现时要小心。它可能取决于您正在使用的用户代理。例如,panel控件在IE中呈现为div,但在Firefox中呈现为表

还有一件事需要注意,如果您正在使用它来显示某些内容,并且不需要格式化文本,请使用文字控件。与标签控件相比,文本控件的ViewState没有标签控件那么重,当您在使用ViewState的页面上有许多这样的控件时,它实际上会增大页面大小

我总是问自己,我是否需要应用自定义样式或格式?是的,使用标签。不,使用文字。

  • 我们可以在title标记中使用文本控件,而label不能在title标记中使用
  • 标签可用于设置其他控件(如Textbox)的焦点。 而Literal只是简单地对网页上的静态文本进行rander

文字呢?不插入span?不,Literal控件直接写入插入的文本,而不进行更改。正确,Literal控件会准确地发出您通过text属性设置的内容。例如,此标签将非常高兴地显示javascript警报,没有对标签控件进行编码/转义:警报(“boo”);嗯,asp:标签是相关的。添加AssociatedControlId属性,您将获得并使用AssociatedControlId,它将呈现一个标签标签。在我看来,ASP.NET中最难理解的控件可能是
<label for="FirstNameTextbox" id="FirstNameLabel">Input first name:</label>
<input type="text" id="FirstNameTextbox" name="FirstNameTextBox" />