You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery根据变量中的Label ID获取ASP Label文本?

解决ASP.NET Label文本获取问题

你的代码存在几个关键错误,导致无法正常获取Label的文本内容,以下是具体修正方案:

问题分析

  1. 错误的Label ID构造:你在labelid中添加了.ClientID,这是ASP.NET服务器端获取客户端ID的语法,在客户端JS中完全不需要这个后缀,直接使用页面渲染后的HTML元素ID即可。
  2. jQuery选择器错误:$('labelid')是在查找标签名为<labelid>的元素,而非ID为labelid的元素,正确的ID选择器格式应为$('#元素ID')。
  3. 可选优化:原代码用name属性判断控件,ASP.NET动态生成的控件name和id可能存在差异,改用id属性匹配会更准确。

修正后的代码

$(":input").each(function(){
    var inputId = $(this).attr('id'); // 改用id属性进行匹配
    if (inputId.toUpperCase().indexOf("TXTDYNAMIC_") >= 0) {
        alert("Found " + inputId + " looking for the associated label.");
        var arr = inputId.split('_');
        var labelId = "lblDynamic_" + arr[1]; // 移除多余的.ClientID后缀
        var labelText = $('#' + labelId).text(); // 使用正确的ID选择器获取文本
        alert("关联Label文本:" + labelText); // 弹窗显示Label内容
    }
});

特殊场景处理

如果你的ASP.NET控件使用默认AutoID模式(而非ClientIDMode="Static"),动态控件的ID可能会带有容器前缀,此时可以用属性选择器匹配:

// 通过属性选择器匹配包含指定前缀和唯一键的Label
var labelText = $('label[id*="lblDynamic_' + arr[1] + '"]').text();

内容的提问来源于stack exchange,提问作者Prescott Chartier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 22:30:20