我有一个基于数据库数据动态生成PDF的表单。但是我不想在生成和下载PDF时离开表格。因此,我正在使用response.redirect来调用.aspx页面,该页面生成PDF并通过流将其提供服务(已经完成了很多年),因此现在可能会有更好的选择。但是,我发现人们在将PDF发送到浏览器之前就注销了,这导致了问题。
有没有一种方法可以检测何时reponse.redirect完成并且文件已下载?
我尝试过使用postmessage和一个侦听器,但这不起作用。 我还尝试了以下以我的主要形式设置和EndRequestHandler:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler) ;
但是这也不起作用。浏览器知道主窗体的选项卡中有一个进度图标,因此必须有一种方法来拦截complete事件。
答案 0 :(得分:0)
可能不像您想要的那样准确,但是我做了类似的事情。单击该按钮时,出现“请稍候...”消息,直到准备好下载文件为止。我这样做的方法是客户端等待cookie。当服务器准备好发送文件(处理后)时,它将设置一个cookie。即使Cookie是在其他请求中设置的,客户端仍会获取更新后的值。