Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
如何获得ajax手风琴的点击事件?asp.net_Asp.net_Accordion - Fatal编程技术网

如何获得ajax手风琴的点击事件?asp.net

如何获得ajax手风琴的点击事件?asp.net,asp.net,accordion,Asp.net,Accordion,我有一个ajax手风琴,每个窗格都包含一个updatepanel(动态创建)。我希望UpdatePanel在单击窗格的标题时刷新,但没有单击事件 我可以在标题中弹出一个按钮,并使用scriptmanager将其注册为异步触发器,但我不需要按钮,我希望整个标题都是触发器 我看不到将div或标签设置为触发器的方法,因为它们没有服务器端单击事件。还有其他方法吗?使用jQuery 语法如下所示: $('#myHeading').click(function(){ // Your code her

我有一个ajax手风琴,每个窗格都包含一个updatepanel(动态创建)。我希望UpdatePanel在单击窗格的标题时刷新,但没有单击事件

我可以在标题中弹出一个按钮,并使用scriptmanager将其注册为异步触发器,但我不需要按钮,我希望整个标题都是触发器

我看不到将div或标签设置为触发器的方法,因为它们没有服务器端单击事件。还有其他方法吗?

使用jQuery

语法如下所示:

$('#myHeading').click(function(){
    // Your code here
});
$('[id*="myHeading"]').click(function(){
    // Your code here
});
有时使用ASP.NET时,我不得不使用通配符ID匹配,因为ASP.NET会为元素创建非常长的半随机客户端ID。您可以执行以下操作:

$('#myHeading').click(function(){
    // Your code here
});
$('[id*="myHeading"]').click(function(){
    // Your code here
});
实际上,您可以选择DOM上的任何内容,并使用jQuery将事件处理程序附加到它。有时候,你必须对选择器有创造性

重要提示:如果您使用的是updatepanels,并且要监视单击的标题位于该面板内,则需要在通过ajax加载/重新加载面板后,将这些事件处理程序重新绑定到您选择的元素。这可以使用以下代码实现:

var prm = Sys.WebForms.PageRequestManager.getInstance();

prm.add_pageLoaded(panelLoaded);

function panelLoaded(sender, args){

    $('[id*="myHeading"]').click(function(){
        // Do something after there is a click
    });

}