如何在客户端设置HTML元素ID

时间:2011-07-25 09:45:51

标签: asp.net html webforms client-side

我们正在尝试使用visual studio在ASP.net上编写表单。 我们希望能够控制元素的最终客户端ID,以便我们可以轻松地在jquery代码中引用它们。

ASP.net上的常规'id'属性获得了一个我们无法在客户端控制的奇怪前缀。

我们如何完全控制元素的最终客户端ID?

谢谢!

IE:

<asp:TextBox ID="TBICDCode6"  runat="server" Width="240">

我希望能够使用

引用文本框
$("#TBICDCode6");

3 个答案:

答案 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")