如何在 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】:您应该使用 <asp:Label...>
,详细信息请参阅 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 C#)中存储多个动态产品我尝试了很多但静态它有效但动态不是?