我的网页中有这个label控件
<asp:Label ID="Label1" runat="server" Text="test"></asp:Label>
并且,当页面呈现时,控件的id更改为如下所示
<span id="ctl00_ContentPlaceHolder1_Label3">test</span>
为了执行如下所示的jQuery操作,如何停止asp.net更改I
$('#label1').html(xml);
发布于 2009-01-31 00:26:04
而不是使用此选择器
$('#Label1')
使用这个,基本上你使用的是经典的asp内联服务器端代码。
$('#<%= Label1.ClientID %>')
这将插入生成的要作为文字放置的任何ID。
如果您希望使用外部文件,那么我建议您在页面上创建一个全局的obj来保存所有的客户端it,然后在您的外部文件中引用该obj (不理想,但这是一个解决方案)
var MyClientIDs = {
Label1 = '<%= Label1.ClientID %>',
Label2 = '<%= Label2.ClientID %>',
Textbox1 = '<%= Textbox1.ClientID %>',
Textbox2 = '<%= Textbox2.ClientID %>'
};
然后,您可以在外部文件中访问Label1,例如:$('#' + MyClientIDs.Label1)
发布于 2013-10-01 14:50:45
在.NET 4+ set ClientIDMode="Static"
中。这将解决您的问题。
示例:
<asp:Label ID="Label1" ClientIDMode="Static" runat="server" Text="test"></asp:Label>
发布于 2009-01-31 00:27:07
您不能阻止asp.net生成这些ID。这就是它的工作方式。
你仍然可以像这样使用jquery:
$('#<%=label1.ClientID %>').html(xml)
或
$('[id$=_label1]').html(xml)
https://stackoverflow.com/questions/497802
复制相似问题