1

现在,我有一个页面,不幸的是,其中混合了更新面板和从 javascript 调用 webservice web/script 方法。

我有一个更新进度控件,它显示了更新面板活动的微调器。但是当我进行网络服务调用时,它不会显示。

你会建议我如何解决这个可用性问题,因为用户体验需要保持一致。我应该挂钩每个 web 服务调用以隐藏和显示 updatecontrol 的 div 吗?

4

1 回答 1

0

好吧,对于初始页面呈现和同步回发,不显示 UpdateProgress 控件。因此,请确保您的 UpdatePanel 正在异步更新。

此外,在链接页面的底部,它显示了您必须拥有什么才能控制微调器何时出现。

话虽如此,这是微软解决您问题的黄金途径。ASP.NET Ajax 库中的某个地方可能存在阻止微调器显示的错误。

如果您确实用尽了所有选项,请尝试自己做。如果您覆盖 beginRequest 和 endRequest JavaScript 方法,您可以控制微调器何时显示。我可能会将这些函数中的任何先前代码保存到如下变量中:

function addLoadEvent(func)
{
    var oldonload = window.onload;
    if(typeof window.onload != 'function')
    {
        window.onload = func;
    }
    else
    {
        window.onload = function()
        {
            oldonload();
            func();
        }
    }
}

现在,当然,这段代码用于向 window.onload 添加一个新函数,但同样的技术也适用于 beginRequest 和 endRequest。

希望这可以帮助

于 2009-02-04T19:14:55.817 回答