簡體   English   中英

在asp.net中的Response.End()之后隱藏模態窗口

[英]Hide modal window after Response.End() in 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 = '';
    }

即顯示一個帶有標簽“加載”的模態窗口我的問題是當我下載文件時我得到了生成的csv但之后我的模態窗口仍然出現,那是因為頁面沒有被刷新

有什么我能做的嗎?

提前致謝

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

使用按鈕回發后,您所在的頁面正在等待加載新內容。 此時您無法從后面的代碼對當前頁面dom進行任何控制,例如發送一個javascript代碼來執行。

即使您確實發送了整頁,然后是一個新的整頁。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM