如何在 ASP.Net 网络表单中使用标签?

Posted

技术标签:

【中文标题】如何在 ASP.Net 网络表单中使用标签?【英文标题】:How to use label for in an ASP.Net webform? 【发布时间】: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>

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

【问题讨论】:

***.com/questions/493801/html-label-tag-and-asp-net的可能重复 【参考方案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 得到了这个答案,因为它恰好在原始问题的评论中提到。

【讨论】:

以上是关于如何在 ASP.Net 网络表单中使用标签?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 asp.net 中为谷歌广告线索表单开发网络挂钩

如何在条带结帐网络表单(ASP.NET C#)中存储多个动态产品我尝试了很多但静态它有效但动态不是?

如何克服为贝宝按钮 asp.net 嵌入 html 表单

如何允许在 asp.net 的文本框中提交 HTML 标签?

ASP.NET 网络表单字段未正确对齐

Paypal 表单破坏了我的 ASP.NET 网络表单布局 -> 如何解决?