C# 使用jQuery查找在代码隐藏中创建的控件
我希望能够访问jQuery中的label控件,该控件是在codebehind中创建的 我在codebehind中向我的页面添加了控件,如下所示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); 是否可以通过
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();
});
});