我的网页中有这个标签控件
<asp:Label ID="Label1" runat="server" Text="test"></asp:Label>
当页面呈现时,控件的id会变成这样
<span id="ctl00_ContentPlaceHolder1_Label3">test</span>
我怎样才能阻止asp.net更改ID以执行这样的jQuery操作
$('#label1').html(xml);
而不是使用此选择器
$('#Label1')
使用这一代码,基本上您正在使用经典的ASP内联服务器端代码。
$('#<%= Label1.ClientID %>')
这将插入生成的任何ID作为文字放置。
如果您希望使用外部文件,则建议您在页面上创建一个全局obj,以保存所有客户端ID,然后在外部文件中引用该obj(不理想,但这是一个解决方案)
var MyClientIDs = { Label1 = '<%= Label1.ClientID %>', Label2 = '<%= Label2.ClientID %>', Textbox1 = '<%= Textbox1.ClientID %>', Textbox2 = '<%= Textbox2.ClientID %>' };
然后可以在外部文件中访问Label1,例如: $('#' + MyClientIDs.Label1)
$('#' + MyClientIDs.Label1)