在即将绝望时想到了
使用
Response.Clear();
//Add the header that specifies the default filename for the Download/SaveAs dialog
Response.Charset = "UTF-8";
.............
Response.WriteFile(f.FullName);
// Stop the execution of this page
Response.End();
为客户端存储文件后,页面停止响应。看了所有帖子,似乎都没有办法解决
好像只有新开一页才行,就在马上要绝望时想到了如下方法:
在页面内添加一个height=0的iframe,每次在用户引发相关下载的事件时
Response.Write("<script language=\"javascript\">iframeName.src=\"ResourceDl.aspx\"</script>");
其中ResourceDl.aspx是最上面那段代码,也就是把发送文件的代码放到这页去执行
虽然仍然是又建了一个文件,但是确实是可以保持原有页面的继续执行。
唯一的缺点是其它事件也会导致页面刷新,激发下载。不过主页面没有停止,这个
问题也是很好控制的:)
希望对大家有点用处:)