我在一个模态窗口。
我有一个指向ashx文件的超链接。
这个ashx文件使用Response.BinaryWrite推送文件进行下载,然后我想关闭模式。
事情是那个
如果我使用
Response.BinaryWrite(myFile);
Response.("<script type='text/javascript'>window.close();</script>");
它不起作用。
如果我更不用说
Response.("<script type='text/javascript'>window.close();</script>");
它有效。
任何有解决方案的机构?
THX
答案 0 :(得分:2)
不,没有解决方案,因为上面的线路做了两件不同的事情:
第一行基本上是将文件流式传输给用户。在用户响应出现的对话框(他选择保存或在屏幕上显示)之前,你无能为力。您似乎试图自动关闭用户的对话框,但无法从服务器端代码控制用户的浏览器。
第二行有效,因为您所做的只是发送指示浏览器窗口关闭的javascript代码。你不能在同一个响应流中交织这两件事。
答案 1 :(得分:1)
我认为你选择了错误的做法。 AFAIK您使用二进制写入向客户端发送二进制文件,即pdf 客户端不会理解您还在二进制流的末尾发送javascript。 您无法组合二进制数据和脚本