如何将文件写入响应流并显示/隐藏“工作”模式窗口?

时间:2011-02-15 19:09:10

标签: jquery asp.net modal-dialog savefiledialog

我需要将文件导出给用户。生成文件需要1-2分钟,所以我希望页面进入一种模式模式,页面上有一个停留,并显示一个“工作”微调器。问题是,在“保存文件”对话框关闭后,我无法使模态内容消失。

如何在对话框完成后删除停留?

1 个答案:

答案 0 :(得分:2)

我很久以前就问过同样的问题(here)和着名的T. J. Crowder提出了一个很棒的解决方案。在请求文件时,客户端(页面)提交额外的参数。额外参数应该是一些随机字符串。然后,启动模态“等待...”对话框。

现在,从服务器,当您准备响应时,您将cookie设置为该额外参数的值。反过来,客户端应该启动一个间隔计时器,每隔100毫秒左右查看document.cookie,检查该随机值。一旦cookie包含随机值,那么您就知道HTTP响应已从服务器到达!此时,您可以隐藏模态对话框或其他任何内容。