Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.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
C# 在UpdatePanel中更新后重新加载jquery事件问题_C#_Asp.net_Jquery Ui_Jquery - Fatal编程技术网

C# 在UpdatePanel中更新后重新加载jquery事件问题

C# 在UpdatePanel中更新后重新加载jquery事件问题,c#,asp.net,jquery-ui,jquery,C#,Asp.net,Jquery Ui,Jquery,我在UpdatePanel中更新后遇到了一个问题。问题是在UpdatePanel中进行更新后,jquery事件不工作/触发。第一次,jquery事件工作,但在UpdatePanel中的更新之后不工作。如果我删除UpdatePanel,问题就解决了。但是我必须使用UpdatePanel 您能给我一个解决方案吗?其中一个可能的原因是,UpdatePanel替换DOM中附加了jquery事件的元素,这些元素当然会使这些事件无效。一种可能的解决方案是使用该函数注册事件,但它仅适用于某些事件 如果无法使用

我在UpdatePanel中更新后遇到了一个问题。问题是在UpdatePanel中进行更新后,jquery事件不工作/触发。第一次,jquery事件工作,但在UpdatePanel中的更新之后不工作。如果我删除UpdatePanel,问题就解决了。但是我必须使用UpdatePanel


您能给我一个解决方案吗?

其中一个可能的原因是,
UpdatePanel
替换DOM中附加了jquery事件的元素,这些元素当然会使这些事件无效。一种可能的解决方案是使用该函数注册事件,但它仅适用于某些事件

如果无法使用
live
函数,则需要在
UpdatePanel
具有替换DOM元素后重新附加这些事件:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function(sender, args) {
    // TODO: reattach your jquery event handlers
});

即使在页面回发之后,您也需要绑定要执行的事件或函数,因为元素不记得回发之后附加到它们的事件

因此需要在endRequst处理程序中调用它们

$(function{

    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(AfterPostBack);

    AfterPostBack();

});

function AfterPostback(){

   // Your code goes here...
}

对于使用.live(),我们可以在普通jquery下使用吗?或者我们应该下载任何插件/javascript文件吗?
.live()
函数是jquery的一部分(请参阅我文章中的链接),因此您可以直接使用它。好的……让我试试……我们应该在每次执行UpdatePanle时使用.live(),还是在页面加载时使用它?您能给我一个为方法注册livequery插件的示例代码吗?此外,页面加载。例如,我有两个方法“draggable”和“dropable”。这是我写的:$(document).ready(function(){if(jQuery.livequery)jQuery.livequery.registerPlugin(“draggable”,“dropable”);InitializePage();});函数InitializePage(){$(“.draggable”).live(“draggable”,{helper:'clone',scroll:false});BindDropEvent();}函数BindDropEvent(){$(“.dropable”).live(“dropable”,{drop:function(ev,ui){};}