日期:2014-05-17  浏览次数:20503 次

C#中有这样这一段代码
C#中有这样这一段代码, 
Response.Clear(); 
Response.ContentType = "application/octet-stream "; 
Response.AddHeader( "Content-Disposition ", "attachment; filename=\ " "+filename+ "\ " "); 
Response.Flush(); 
Response.WriteFile( "文件名 "); 
这段用于下载一个文件, 
同时我想在这段这后在重新刷新本页(因为要显示记录的原因), 
应该如何 正确的做?谢谢

------解决方案--------------------
Response.End();这个不要,后面加Response.Redirect("");
------解决方案--------------------
Response.End();代表本次请求已经完成,之后你再写东西也不会反应到客户端,在 Response.End();之前去做你要做的处理
------解决方案--------------------
正解
探讨

Response.End();代表本次请求已经完成,之后你再写东西也不会反应到客户端,在 Response.End();之前去做你要做的处理

------解决方案--------------------
location='login.aspx';换成window.location='login.aspx'试一下,
------解决方案--------------------
window.location.href='login.aspx';

另外你要在Page_Load里自己写更新的逻辑。一个简单的办法是,把上句改成:

window.location.href='login.aspx?downloadedfilename=' + filename;

然后Page_Load里判断if (!String.IsNullOrEmpty(Request.QueryString["downloadedfilename"])) 则更新相应的区域

------解决方案--------------------
探讨

你的文件有多大啊,这个方法好像有文件大小限制的!