C# 使用jQuery查找在代码隐藏中创建的控件

C# 使用jQuery查找在代码隐藏中创建的控件,c#,jquery,asp.net,C#,Jquery,Asp.net,我希望能够访问jQuery中的label控件,该控件是在codebehind中创建的 我在codebehind中向我的页面添加了控件,如下所示 Label L = new Label(); L.ID = "txt" + i; L.Text = dr["category_name"].ToString(); L.CssClass = "heading"; divCat.Controls.Add(L); 是否可以通过

我希望能够访问jQuery中的label控件,该控件是在codebehind中创建的

我在codebehind中向我的页面添加了控件,如下所示

        Label L = new Label();
        L.ID = "txt" + i;
        L.Text = dr["category_name"].ToString();
        L.CssClass = "heading";
        divCat.Controls.Add(L); 
是否可以通过ID或jQuery中的替代选项找到这些控件? 下面给出了一个错误,表示不存在此类控制:

$(function () {
  $(".hoverlabel").hover(function () {
    $("#<%=txt1.ClientID %>").show();
  });

});
$(函数(){
$(“.hoverlabel”).hover(函数(){
$(“#”)显示();
});
});

你不能做你想做的事。。那样

您试图在代码中使用字符串作为对象。以这个正常的C#为例:

string myString = "HelloString";
string lowerString = HelloString.ToLower(); // This won't work..
这相当于你要做的事

解决方法是使用
FindControl

$(function () {
    $(".hoverlabel").hover(function () {
        $("#<%= FindControl("txt1").ClientID %>").show();
    });
});
$(函数(){
$(“.hoverlabel”).hover(函数(){
$(“#”)显示();
});
});

这将根据您动态分配的ID查找控件。

我不确定它是否工作。
您可以利用
clientmode=“Static”
例如

还有jquery函数

    $(function () {
        $(".hoverlabel").hover(function () {
        $("#txt1").show();
       });
    });

假设隐藏的代码实际呈现html
,那么jQuery可能类似于:

$(function () {
  $(".hoverlabel").hover(function () {
    $("label.heading").show();
  });
});

只需分配一个额外的“标识CSS类”:

然后,您可以使用以下jQuery语句获取控件:

$(function () {
  $(".hoverlabel").hover(function () {
    $(".myLabel").show();
  });
});

检查您的源代码,在客户端中查看标签ID是什么,并查看片段的结果。使用遍历可能更容易,而且不用担心使用服务器代码填充选择器。。。显示一些源HTML此正确语法为L.ClientMode=ClientMode.Static;当改成这样时,效果非常好,谢谢@谢谢你的更正。永远欢迎你。
$(function () {
  $(".hoverlabel").hover(function () {
    $("label.heading").show();
  });
});
var L = new Label();
L.ID = "txt" + i;
L.Text = dr["category_name"].ToString();
L.CssClass = "heading myLabel"; // Set multiple classes separated by spaces
divCat.Controls.Add(L); 
$(function () {
  $(".hoverlabel").hover(function () {
    $(".myLabel").show();
  });
});