我正在使用asp.net framework 4.0开发一个Web应用程序。我在我的应用程序中使用了很多PageMethods,即我的应用程序完全启用了ajax。我没有使用UpdatePanel来避免页面部分回发。在我的场景中,我想在PageMethods发出AJAX请求时显示进度条。我无法使用UpdateProgress,因为它与我不使用的UpdatePanel相关联。我可以在调用函数&之前显示进度条。 onsuccess我可以隐藏它。像
function CallPageMethod()
{
$("#progressDiv").show();
PageMethods.GetCurrentDate(Onsuccess);
}
function Onsuccess(result)
{
$("#progressDiv").hide();
alert(result);
}
这种方法运行正常,但我很难写出show&隐藏每个&的代码每一页的方法。因为我的页面包含很多PageMethods。我如何编写一个通用方法来显示/隐藏每个AJAX请求的进度条?
答案 0 :(得分:2)
如果您正在寻找一种方法来隔离和共享进度条隐藏和显示在一个常见方法中的调用,当然您可以拥有一个JS函数,为每个人执行$("#progressDiv").show()
或$("#progressDiv").hide()
。这样的函数甚至可以是相同的并且接受bool作为参数可见而不是从每个PageMethod调用位置接受,并且在每个OnSuccess中你将调用此函数。
我认为你真的不能做得更多,因为实际上每个页面方法的调用都需要不同,并且每个OnSuccess的行为都可以根据情况而有所不同,因此这些处理程序必须分开。