【问题标题】:jQuery Dialog firing before Update Panel has had a chance to update itself在更新面板有机会更新自身之前触发 jQuery 对话框
【发布时间】:2014-02-13 16:08:07
【问题描述】:
我有一个带有空更新面板和一个按钮的 ASP.NET 网络表单页面。
按钮的点击事件有一个 javascript 事件侦听器来打开 jQuery dialog,并回发以填充更新面板的内容。
这两个都可以正常工作,因为更新面板确实填充了内容,并且 jquery dialog 也打开了,但是,由于 jQuery dialog 的工作方式,我相信它是“复制的”更新面板的内容在它有机会更新之前,因此最终向用户显示一个空的dialog。
【问题讨论】:
标签:
c#
jquery
asp.net
updatepanel
jquery-ui-dialog
【解决方案1】:
如果更新是由$.ajax() 完成的,那么在ajax 请求的complete: function(){} 块内调用jQuery dialog open()。或者您可以使用setTimeout() 弹出对话框。
【解决方案2】:
尝试 endRequest 事件打开 jquery 对话框:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function EndRequestHandler(sender,args) {
//this fires when the partial postback is finished
// open the dialog here
});
更多关于endRequest。