ASP.NET页面:当服务器返回文件进行下载时如何调用javascript方法

时间:2012-07-18 15:18:02

标签: javascript asp.net postback

我有一个ASP.NET页面,其中发出请求,并在while服务器返回新页面或仅下载文件之后。我想在屏幕上指出服务器是“正在处理...”,而在返回数据之前需要时间。

当用户点击提交时调用javascript很容易。在Postback上重新加载页面会导致任何“Processing ...”指示符(页面顶部弹出一些DIV)消失。

我的问题主要是服务器返回的数据不是页面而是要存储的文件。如何捕获服务器开始返回数据的时刻,并运行javascript / remove“Processing”DIV?在回复不同的哑剧类型的情况下,它甚至是一种方法吗? 在哪些情况下甚至可能?

1 个答案:

答案 0 :(得分:1)

有几种方法可以估算您尝试使用计时器做什么以及对发生的事情进行假设,但是为了真正完成您所描述的内容,您需要轮询服务器以获取下载发生的指示

我要做的是获取文件Response.WriteFile,然后将标志写入某个商店,无论是数据库还是文件系统,或其他任何唯一标识交易已完成的商店。在客户端,您的脚本正在轮询服务器,并且在服务器上,轮询响应正在检查存储以查找指示已发生下载的标志。

这里的关键是你必须更好地控制下载过程本身...只是重定向到文件不会给你所需的控制。如果您需要有关如何完成上述任何步骤的详细信息,请与我们联系。