下载完文件之后,如何关闭当前窗口?

xjjdanran 2006-09-07 02:25:19
在新页面上做了一个文件下载的方法,通过字节流的形式输出到浏览器,浏览器提示下载,可以成功下载。麻烦的是,下载完成之后如何自动关闭新打开的窗口?相关代码如下:
V_contentType = "application/octet-stream";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312") ;
Response.AppendHeader("Content-Disposition", "attachment;filename="+ HttpUtility.UrlEncode(V_name));
Response.ContentType = V_contentType;
Response.Clear();
Response.BinaryWrite(V_ByteArray);
V_ByteArray = null;
Response.End();



其中V_ByteArray为供下载的二进制字节流;程序执行到Response.End()之后,浏览器便会弹出下载提示框,可以下载或打开。可执行Response.End()之后,不论如何设置关闭当前窗口的代码,都不会执行。请问各位老大们,这样的问题如何解决?
...全文
332 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
humer 2006-12-02
  • 打赏
  • 举报
回复
Response.End()之前做Response.Write("<script language=javascript>window.close();</javascript>");
是不行的。
会把“<script language=javascript>window.close();</javascript>“以文本形式写到保存的文件里面,并且窗口不会自动关。
江城老温 2006-12-02
  • 打赏
  • 举报
回复
还要鄙视你们的技术支持,说服客户的工作需要技术支持的努力。
江城老温 2006-12-02
  • 打赏
  • 举报
回复
是啊,刚刚在126邮箱中,下载附件也是这样的,会弹出一个空白窗口,也不会自动关闭.

问题是客户不会管这么多,认为这是不合理的,强烈要求做到自动关闭....

——————————————————

鄙视你的客户
tcxx2008 2006-11-16
  • 打赏
  • 举报
回复
Response.Write("<script language=javascript>window.close();</javascript>");
这个请用下面的就ok了

this.RegisterStartupScript("alert", "<script language=javascript>window.alert('');</script>");
苏达 2006-11-16
  • 打赏
  • 举报
回复
是浏览器的原因吧
换了台机子
Response.End()之前做Response.Write("<script language=javascript>window.close();</javascript>"); 可以
songxiaozhao 2006-09-08
  • 打赏
  • 举报
回复
查看Response.End()的说明是:
将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发 Application_EndRequest 事件。那么你在可以尝试在这个事件中写一些代码喽
xjjdanran 2006-09-08
  • 打赏
  • 举报
回复
UP
xjjdanran 2006-09-08
  • 打赏
  • 举报
回复
各位大哥,没有好的解决方案吗?
lxxxjj 2006-09-07
  • 打赏
  • 举报
回复
UP
xjjdanran 2006-09-07
  • 打赏
  • 举报
回复
是啊,刚刚在126邮箱中,下载附件也是这样的,会弹出一个空白窗口,也不会自动关闭.

问题是客户不会管这么多,认为这是不合理的,强烈要求做到自动关闭....
songxiaozhao 2006-09-07
  • 打赏
  • 举报
回复
呵呵,长见识来的
songxiaozhao 2006-09-07
  • 打赏
  • 举报
回复
我见过的网上下载完了,好像都没有关闭当前窗口唉,你一旦Response.End(),后面的代码就无法执行了
xjjdanran 2006-09-07
  • 打赏
  • 举报
回复
zhangci226(三只熊熊) ,弹出窗口是用javascript做的,在
Response.End()之前做Response.Write("<script language=javascript>window.close();</javascript>"); 操作还是无效,
且在前台window.onload()中,做alert('a'),都没反应
奇怪。。。。
张赐 2006-09-07
  • 打赏
  • 举报
回复
用javascript应该可以,如果这个弹出的窗口是用javascript弹出的话,就用window.close();就可以了
xjjdanran 2006-09-07
  • 打赏
  • 举报
回复
自己UP一下

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧