我们正在尝试使用visual studio在ASP.net上编写表单。 我们希望能够控制元素的最终客户端ID,以便我们可以轻松地在jquery代码中引用它们。
ASP.net上的常规'id'属性获得了一个我们无法在客户端控制的奇怪前缀。
我们如何完全控制元素的最终客户端ID?
谢谢!
IE:
<asp:TextBox ID="TBICDCode6" runat="server" Width="240">
我希望能够使用
引用文本框$("#TBICDCode6");
答案 0 :(得分:1)
尝试:
$("#<%= TBICDCode6.ClientID %>");
答案 1 :(得分:1)
如果您使用的是ASP.NET 4.0,可以将Control.ClientIDMode
设置为static
<asp:TextBox ID="TBICDCode6" runat="server"
ClientIDMode="Static"
Width="240">
</asp:TextBox>
或者,如果您使用的是旧版本的ASP.NET,请尝试此操作。
$("#" + '<%= TBICDCode6.ClientID %>')
答案 2 :(得分:1)
一个众所周知的事实是,asp.net对ids做了令人讨厌的事情。它应该在asp.net 4.0中更好,但我还没有尝试过。
尝试阅读“在客户端脚本中引用服务器控件”here
或者,您可以使用其他属性(例如name
)完全绕过整个事物
然后,您的选择器将为$("[name=someId]")
,而不是$("#someId")