【问题标题】:How to use label for in an ASP.Net webform?如何在 ASP.Net 网络表单中使用标签?
【发布时间】:2011-03-30 04:55:19
【问题描述】:

我把它当作纯 HTML:

<label for="txtPais">Pais:</label>    
<input name="ctl00$ContentPlaceHolder1$txtPais" type="text" id="ctl00_ContentPlaceHolder1_txtPais" class="textInput" />

在我在 Visual Studio 中的实际代码中,我有这个:

<label for="txtPais">Pais:</label>    
<asp:TextBox ID="txtPais" runat="server" CssClass="textInput"></asp:TextBox>

如何为这个文本框应用标签?

【问题讨论】:

标签: asp.net webforms label


【解决方案1】:

您应该使用 &lt;asp:Label...&gt;,详细信息请参阅 Haacked 上的 this blog post

<asp:Label id="label" AssociatedControlId="txtPais" Text="Pais:" runat="server" />
<asp:TextBox id="txtPais" runat="server" CssClass="textInput" />

这应该与正在转换的 ID 正确转换。

【讨论】:

  • 因为对于 Microsoft 团队来说,使用“for”和“class”而不是“AssociatedControlId”和“CssClass”看起来非常奇特...... ¬.¬ 请未来的设计师们保持标准!
【解决方案2】:

对于与我使用相同的谷歌搜索登陆这里的其他人......标签标签中的“for”属性可帮助使用辅助工具(如屏幕阅读器)的人了解标签的文本框。

【讨论】:

  • 标签点击时也关注输入。
【解决方案3】:

建议将一些输入包装在标签内以方便访问(参见example)。

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

我从post 得到了这个答案,因为它恰好在原始问题的评论中提到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 2021-09-21
    • 1970-01-01
    相关资源
    最近更新 更多