2009-05-29 38 views
2

在我們的ASP.NET 3.5應用程序中,我們希望實現一個「請稍候...」功能: 對每個用戶動作(按鈕單擊,選項卡更改等等),我們會在頁面頂部顯示一個微調(實際上在我們使用的一個單獨的框架中)。用ASP.NET 3.5在每個用戶動作上「Please wait」圖像

我們認爲這種方案的:

  1. 「劫持」 _doPostBack攔截的每個事件,顯示旋轉器圖像,則執行原來的功能_doPostBack
  2. 在ASP.NET註冊客戶機腳本塊代碼隱藏,以便在處理結束時隱藏圖像

我的問題是:您認爲這是一個好的解決方案嗎?這當然不是很優雅,但它非常有效。是否有另一種解決方案/模式來做這種事情?

PS:我們不使用jQuery和我們使用的UpdatePanel

回答

2

既然你已經在使用的UpdatePanel,你只需要一個UpdateProgress控件添加到頁面,並關聯到您的UpdatePanel。

當從UpdatePanel內部啓動部分回發時會自動顯示,並在請求完成後隱藏。

下面是一個示例,只需將img標記指向微調器圖像即可。您可以將控件放置在希望顯示的位置。

<asp:UpdateProgress runat="server" AssociatedUpdatePanelID="updatePanel1"> 
    <ProgressTemplate> 
    <img src="./images/somespinner.gif" />Please wait... 
    </ProgressTemplate> 
</asp:UpdateProgress> 
-1

我敢肯定,你可以將進度指標在UpdatePanel。無論是通過事件處理程序還是通過屬性,我都記不清哪些,這是一段時間,我使用jQuery而不是UpdatePanels。

豐富

相關問題