2012-11-08 18 views
0

我有一個按鈕誰執行以下操作:隱藏模式窗口到Response.End()後,在asp.net

Response.Clear(); 
Response.Buffer = true; 
Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.csv"); 
Response.Charset = ""; 
Response.ContentType = "application/text"; 
//my content is created 
Response.Output.Write(sb.ToString()); 
Response.Flush(); 
Response.End(); 

這是我的按鈕定義:

<asp:Button ID="Button1" runat="server" onclick="Excel_Click" Text="Export to Csv" onclientclick="ShowModal();"/> 

正如你可以看到我調用javascript函數,誰執行以下操作:

function ShowModal() { 
     var divmodal = document.getElementById("divModal"); 

     divmodal.style.display = ''; 
    } 

即顯示了與標籤「加載」模態窗口10我的問題是當我下載文件我得到生成的csv,但之後,我的模態窗口仍然出現,這是因爲該頁面沒有被刷新

有什麼我可以做的嗎?

在此先感謝

回答

2

簡短的回答是,你不能這樣做。

在您使用按鈕回發您所在的頁面正在等待加載新內容之後。在這一刻,你不能從後面的代碼中控制當前頁面,例如發送一個JavaScript代碼來執行。

即使您確實發送了一個完整的頁面,那麼它也是一個新的整頁。

你可以做一些其他的技巧,例如使用一個處理程序來下載文件和鏈接,或使用ajax發送命令,並再次返回一個鏈接到一個處理程序 - 但這樣,一個完整的回發, 你不能這樣做。

+0

我明白了,謝謝:) –