这就是我想要做的 -
当文档准备好并且页面不是回发时使用 jQuery,我会为更新面板发出手动回发以从数据库中检索数据。
当更新面板获取数据时,我会呈现一个更新进度,当特定更新面板完成时我会隐藏它。我还想“阻止”任何交互的屏幕。加载数据后,我在表单上有额外的按钮,我想阻止任何部分回发的情况。
这是代码:
$(document).ready(function ()
{
if(<% =(Not Page.isPostBack).ToString().ToLower() %>)
{
__doPostBack('upShipping');
}
}
function pageLoad() {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_beginRequest(BeginRequestHandler);
prm.add_endRequest(EndRequestHandler);
}
function BeginRequestHandler(sender, args)
{
$('.blur').css("display", "block");
if (args._postBackElement.id == 'upShipping') {
$get('divCalculating').className = 'Show';
}
}
function EndRequestHandler(sender, args)
{
$('.blur').css("display", "none");
if (sender._postBackSettings.sourceElement.id == 'upShipping')
{
$get('divCalculating').className = 'Hidden';
}
}
如果我不在屏幕上“点击”,一切都会很好。但是,如果我只是在更新面板更新时单击屏幕上的任意位置,则“EndRequestHandler”不会触发,并且我会被加载 gif 和阻塞的屏幕所困。我在浏览器的错误控制台中收到以下错误:sender._postBackSettings.sourceElement is undefined
有任何想法吗?
谢谢!
缺口