2010-02-24 27 views
2

我有一個頁面,當用戶點擊一個按鈕時,有一個自定義加載面板放置在更新面板中的PageRequestManager BeginRequest事件。所以當頁面加載時,加載面板被刪除。我的問題是,當用戶點擊重定向到httphandler的按鈕時,頁面不會被重新加載,因此加載面板不會被刪除。需要在Response.Redirect之前調用客戶端腳本。有什麼建議麼?

所以我試圖想出一種方式來在重定向發生之前移除加載面板,無論是在重定向還是之前的客戶端腳本調用。到目前爲止,我已經想過嘗試執行Response.write(「...」),然後是Response.Redirect()。但我在這裏接受創意。謝謝。

+0

也許你不應該顯示加載面板,如果該按鈕被點擊? – 2010-02-24 14:32:57

+0

如下所述,我需要加載面板,因爲用戶需要知道正在發生的事情。 – jhorton 2010-02-24 16:22:34

回答

2

把你的客戶端代碼在按鈕的OnClientClick

<asp:Button ID="btn1" runat="server" OnClientClick="doSomething()" OnClick="btn1_Click" /> 

btn1_Click是服務器端事件,將客戶端代碼完成後發生的,除非你在客戶端腳本函數返回false。

+0

試過這個。這實際上是一個很好的想法。但是我需要回發來發生,然後在response.redirect之前,我需要啓動腳本來隱藏面板。不過謝謝。 – jhorton 2010-02-24 16:21:51

+0

回帖後會發生在客戶端完成後,只要把你的onclick事件,我編輯了答案 – 2010-02-24 17:40:54

+0

是的,我終於放棄了試圖解僱腳本。問題是我正在調用一個重定向到一個HttpHandler來清除響應並將一個csv文件寫入輸出流。問題是,在響應被刷新後,可見頁面從未收到任何類型的響應,因此從未寫入任何類型的腳本。但這一切都很好,我只是取消了該按鈕客戶端點擊上的加載面板。謝謝您的幫助。 – jhorton 2010-02-26 14:13:26

相關問題