2011-09-02 53 views
1

我正在開發一個使用asp.net framework 4.0的web應用程序。我在我的應用程序中使用了很多PageMethods,即我的應用程序完全啓用了ajax。我沒有使用UpdatePanel來避免頁面部分回發。在我的場景中,我想在PageMethods發出AJAX請求時顯示進度條。我不能使用UpdateProgress,因爲它與我沒有使用的UpdatePanel相關聯。我可以在調用函數之前顯示進度條& onsuccess我可以隱藏它。像如何顯示/隱藏PageMethods的進度條?

function CallPageMethod() 
{ 
    $("#progressDiv").show(); 
    PageMethods.GetCurrentDate(Onsuccess); 
} 

function Onsuccess(result) 
{ 
     $("#progressDiv").hide(); 
     alert(result); 
} 

這種方法工作正常,但它很難爲我寫證明&隱藏代碼,每個&每pagemethods。因爲我的頁面包含很多PageMethods。我如何編寫一個常見的方法來顯示/隱藏每個AJAX請求的進度條?

回答

2

如果你正在尋找一種方法來隔離和共享調用進度條隱藏和顯示在一個常用的方法,當然你可以有一個JS功能,爲每個人做$("#progressDiv").show()$("#progressDiv").hide()。這樣的函數甚至可以是相同的,並且接受一個bool可見的參數,而不是每個PageMethod調用的地方,在每個OnSuccess中你都會調用這個函數。

我認爲你真的不能做更多的事情,因爲實際上每個頁面方法調用都需要不同,並且每個OnSuccess的行爲也會有所不同,這取決於情況,因此必須將這些處理程序分開。