首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为了使用jQuery,如何阻止ASP.NET更改ID

为了使用jQuery,如何阻止ASP.NET更改ID
EN

Stack Overflow用户
提问于 2009-01-31 00:21:25
回答 14查看 36.2K关注 0票数 52

我的网页中有这个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);
EN

回答 14

Stack Overflow用户

回答已采纳

发布于 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)

票数 41
EN

Stack Overflow用户

发布于 2013-10-01 14:50:45

在.NET 4+ set ClientIDMode="Static"中。这将解决您的问题。

示例:

<asp:Label ID="Label1" ClientIDMode="Static" runat="server" Text="test"></asp:Label>
票数 27
EN

Stack Overflow用户

发布于 2009-01-31 00:27:07

您不能阻止asp.net生成这些ID。这就是它的工作方式。

你仍然可以像这样使用jquery:

$('#<%=label1.ClientID %>').html(xml) 

$('[id$=_label1]').html(xml)
票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/497802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档