0

我有一个执行以下操作的按钮:

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 但之后我的模态窗口仍然出现,那是因为页面没有被刷新

有什么我可以做的吗?

提前致谢

4

1 回答 1

2

简短的回答是你不能那样做。

在您使用按钮回帖后,您所在的页面正在等待加载新内容。此时,您无法从后面的代码对当前页面 dom 进行任何控制,例如向它们发送 javascript 代码以执行。

即使您确实发送了一整页,那么它也是一个新的整页。

您可以使用一些其他技巧,例如使用处理程序下载文件和链接,或使用 ajax 发送命令,然后再次返回处理程序的链接 - 但是这样,通过完整的回发,您不能去做。

于 2012-11-08T19:18:06.167 回答