如何使用<;标签>;ASP.NET中的标记?

如何使用<;标签>;ASP.NET中的标记?,asp.net,html,usability,label,Asp.net,Html,Usability,Label,如何在ASP.NET应用程序中使用标记?我希望它是有效的、可访问的和可用的 我知道最佳的HTML方式是: <label for="Username">Username:</label> <input type="text" id="Username" runat="server" /> 正确的方法是什么?我使用控件来实现这一点。它们被渲染为标记,并适当地设置的属性 请注意,如果愿意,还可以在Label控件中嵌套其他标记: <asp:Label ID="

如何在ASP.NET应用程序中使用
标记?我希望它是有效的、可访问的和可用的

我知道最佳的HTML方式是:

<label for="Username">Username:</label>
<input type="text" id="Username" runat="server" />
正确的方法是什么?

我使用
控件来实现这一点。它们被渲染为
标记,并适当地设置
属性

请注意,如果愿意,还可以在Label控件中嵌套其他标记:

<asp:Label ID="UsernameLabel"
           Text="Username:"
           AssociatedControlID="UsernameTextBox"
           runat="server">
    <asp:TextBox ID="UsernameTextBox" runat="server" />
</asp:Label>

使用
服务器控件。它有一个属性,可用于设置关联的控件ID

<asp:Label ID="label1" runat="server" Text="Username" AssociatedControlID="Text1" />
<asp:TextBox ID="Text1" runat="server" />

我想最简单的方法就是这样做

<asp:Label AssociatedControlID="Username" runat="server" Text="Username:"></asp:Label>
<asp:TextBox ID="Username" runat="server"></asp:TextBox>


您也可以这样写:

<label for="<%= Username.ClientID %>">Username:</label>
<asp:TextBox ID="Username" runat="server" />
用户名:

在本主题中

如果使用.NET 4,现在可以使用ClientIDMode属性配置一个或多个控件以使用静态或可预测ID。ClientIDMode属性可以直接在文本框上设置,也可以在任何父控件或包含该属性的页面上设置

<label for="Username">Username:</label>
<asp:TextBox ID="Username" runat="server" ClientIDMode="Static" />
用户名:

如果您想要一个标签,但在
AssociatedControlID
中没有其他控件可以使用标签本身

<asp:Label ID="Not_Span" AssociatedControlID="Not_Span" Text="Will be rendered as label" />

您也可以尝试以下操作:

<asp:Label  ID="Label1" runat="server" Text="label"></asp:Label>


这是VisualStudio或任何其他软件在拖放标签时提供的功能

我也使用这种方法,但总是为标签标签设置EnableViewState=“False”,特别是当它是一个实体形式时。在我看来,视图越小越好。见“同意”。为了简洁起见,我发现在Web.Config页面设置中关闭ViewState并只打开需要的控件更容易。是的,如果对所有控件都保持打开状态,ViewState确实会增加和降低速度。您也要小心。可能您需要一个标记,而asp:Label控制器实际上将呈现一个。如果asp:Label控件具有关联的ControlID,它将正确呈现一个,而不是通常的。OP在问题中说,他们已经知道可以这样做。
<asp:Label ID="Not_Span" AssociatedControlID="Not_Span" Text="Will be rendered as label" />
<asp:Label  ID="Label1" runat="server" Text="label"></asp:Label>