繁体   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