我的网页中有这个标签控件

<asp:Label ID="Label1" runat="server" Text="test"></asp:Label>

当页面呈现时,控件的id会变成这样

  <span id="ctl00_ContentPlaceHolder1_Label3">test</span>

为了执行这样的jQuery操作,我如何阻止ASP.NET更改ID

$('#label1').html(xml);

推荐答案

而不是使用此 Select 器

$('#Label1')

使用这个,基本上你使用的是classic 的asp内联服务器端代码.

$('#<%= Label1.ClientID %>')

这将插入生成的作为文本放置的任何ID.

如果你想使用外部文件,我建议你在页面上创建一个全局的obj来保存你所有的客户端ID,然后在你的外部文件中引用该obj(虽然不理想,但这是一个解决方案)

var MyClientIDs = {
    Label1 = '<%= Label1.ClientID %>',
    Label2 = '<%= Label2.ClientID %>',
    Textbox1 = '<%= Textbox1.ClientID %>',
    Textbox2 = '<%= Textbox2.ClientID %>'
};

然后在外部文件中可以访问Label1,例如:$('#' + MyClientIDs.Label1)

Asp.net相关问答推荐

如何在编译时为我的 ASP.NET 项目中的每个控制器生成一个单独的 OpenAPI Swagger.json 文件?

从组件属性调用异步方法的正确方法

httpCompression 和 urlCompression 有什么区别?

IE10 SCRIPT5009:__doPostBack未定义

.NET 站点如何隐藏其文件的 .aspx 扩展名?

静态字段与会话变量

如何使用 jQuery 设置 outerHTML

从 JavaScript 读取 web.config

在 Asp.net mvc5 中使用用户名而不是邮箱作为身份

在 asp.net 中为动态 PDF 指定文件名

如何在 ASP.NET 页面中以编程方式生成 401 错误

我的 asp.net mvc Web 应用程序中的 OutputCache 设置.防止缓存的多种语法

显示 ModalPopupExtender 时如何指定要运行的 javascript

用于呈现

MVC3 值 Ajax 文件上传

如何获取部署在 Azure 网站上的 ASP.NET 5 应用程序的错误详细信息?

在 Application_BeginRequest 中设置会话变量

将Bundle 包添加到现有的 ASP.NET Webforms 解决方案

ASP.NET 5 (vNext) - 获取配置设置

中继器中的中继器