现在,我有一个页面,不幸的是,有一个更新面板和从javascript调用webservice web / script方法的混合。
我有一个更新进度控件,显示更新面板活动的微调器。但是,当我进行webservice调用时,它不会显示。
您如何建议我解决此可用性问题,因为用户体验需要保持一致。我是否应该挂钩每个webservice调用以隐藏并显示updatecontrol的div?
答案 0 :(得分:0)
好吧,for initial page rendering and for synchronous postbacks, the UpdateProgress control is not displayed.因此,请确保您的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。
希望这有帮助