Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JavaScript onClick添加到动态生成的asp按钮_Javascript_Asp.net_Vb.net - Fatal编程技术网

将JavaScript onClick添加到动态生成的asp按钮

将JavaScript onClick添加到动态生成的asp按钮,javascript,asp.net,vb.net,Javascript,Asp.net,Vb.net,Background我的页面根据SQL数据库的行创建对象列表。对于每个对象,动态生成一个DIV,其中包含几个项,包括一个LinkButton和一个初始隐藏的子DIV。我希望使用链接按钮切换子DIV的隐藏属性。JavaScript不是动态生成的,包含在ASPX页面中 问题我不知道如何使生成的LinkButton启动包含在ASPX页面中的JavaScript并传递正确的DIV ID 我猜我需要向按钮添加一个属性,如下所示: myButton.Attributes.Add(reference

Background我的页面根据SQL数据库的行创建对象列表。对于每个对象,动态生成一个DIV,其中包含几个项,包括一个LinkButton和一个初始隐藏的子DIV。我希望使用链接按钮切换子DIV的隐藏属性。JavaScript不是动态生成的,包含在ASPX页面中

问题我不知道如何使生成的LinkButton启动包含在ASPX页面中的JavaScript并传递正确的DIV ID

我猜我需要向按钮添加一个属性,如下所示:

    myButton.Attributes.Add(reference to JS function + parameter of DIV's ID) 
也许像:

    myButton.Attributes.Add("onclick", "Show_Hide_Display('"<%="' +idString+ '".ClientID%>"')");

如果您使用的是jQuery,则可以使用jQuery委托方法

$(document).on("click", "div.parent", function(){
   var subDivId = getSubDivByParent(this);
   Show_Hide_Display(subDivId);
};
您需要根据DOM结构实现GetSubdivParent

如果不使用jQuery,则需要自己附加事件。对于每个动态生成的元素。您需要在服务器代码中手动添加以下脚本以注册事件

... your html code ...
<script>
var elem = document.getElementById('new-created-element');

elem.addEventListener("click", function(){
   var subDivId = getSubDivByParent(this);
   Show_Hide_Display(subDivId);
};)
</script>
。。。你的html代码。。。
var elem=document.getElementById('new-created-element');
元素addEventListener(“单击”,函数(){
var subdivide=getsubdivparent(此);
显示\隐藏\显示(细分);
};)

如果您使用的是jQuery,您可以使用jQuery委托方法

$(document).on("click", "div.parent", function(){
   var subDivId = getSubDivByParent(this);
   Show_Hide_Display(subDivId);
};
您需要根据DOM结构实现GetSubdivParent

如果不使用jQuery,则需要自己附加事件。对于每个动态生成的元素。您需要在服务器代码中手动添加以下脚本以注册事件

... your html code ...
<script>
var elem = document.getElementById('new-created-element');

elem.addEventListener("click", function(){
   var subDivId = getSubDivByParent(this);
   Show_Hide_Display(subDivId);
};)
</script>
。。。你的html代码。。。
var elem=document.getElementById('new-created-element');
元素addEventListener(“单击”,函数(){
var subdivide=getsubdivparent(此);
显示\隐藏\显示(细分);
};)

使用以下语法

myButton.Attributes.Add("onclick", "Show_Hide_Display(this.id);");
上述语法允许调用id作为参数的函数

建议: 尝试编写一个不依赖于生成的控件ID的公共函数


如果这对您的需求没有帮助,请发布您的代码,这可能会给我一个更好的想法。

使用以下语法

myButton.Attributes.Add("onclick", "Show_Hide_Display(this.id);");
上述语法允许调用id作为参数的函数

建议: 尝试编写一个不依赖于生成的控件ID的公共函数


如果这对您的需求没有帮助,请发布您的代码,这可能会给我一个更好的想法。

我没有使用JQuery,我有一个JavaScript函数,它接收DIV的ID,然后通过CSS显示/隐藏它。此函数在其他地方使用,效果良好。我需要能够在动态生成的按钮上调用它,但不知道语法。因此,您需要在服务器中附加脚本标记。该脚本用于注册新创建的元素。例如“html代码注册事件”不,脚本已经在页面上并且工作正常。我需要我的新按钮来调用函数。是的。所以您需要做的是:只需附加DOM事件。所以,您需要一个脚本片段来注册DOM单击事件。比如“html代码注册事件”,我想我实际上需要的是这样的东西:myButton.Attributes.Add(“onclick”、“Show\u Hide\u Display”(“)”);我没有使用JQuery,我有一个JavaScript函数,它接收DIV的ID,然后通过CSS显示/隐藏它。此函数在其他地方使用,效果良好。我需要能够在动态生成的按钮上调用它,但不知道语法。因此,您需要在服务器中附加脚本标记。该脚本用于注册新创建的元素。例如“html代码注册事件”不,脚本已经在页面上并且工作正常。我需要我的新按钮来调用函数。是的。所以您需要做的是:只需附加DOM事件。所以,您需要一个脚本片段来注册DOM单击事件。比如“html代码注册事件”,我想我实际上需要的是这样的东西:myButton.Attributes.Add(“onclick”、“Show\u Hide\u Display”(“)”);我可以使div隐藏/可见。我需要我新创建的按钮来调用执行此操作的JavaScript函数。我可以使DIVs隐藏/可见。我需要我新创建的按钮来调用执行此操作的JavaScript函数。这实际上是我最后采用的方法。但是,对于将来有类似问题的人来说,你的答案是正确的。谢谢。这实际上是我最后走的路线。但是,对于将来有类似问题的人来说,你的答案是正确的。谢谢