我的代码是
请给我解决方案......谢谢
bool b = false;
string str=Server.MapPath("~/Files/"+filepath);
// Send the file to the browser
Response.AddHeader("Content-type", filetype);
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
Response.TransmitFile(Server.MapPath("~/Files/" + filepath));
Response.Flush();
// HttpContext.Current.ApplicationInstance.CompleteRequest();
Response.End();
b = true;
答案 0 :(得分:2)
此通知表示该线程当前正在执行代码,因此无法用于评估表达式。
使用
HttpContext.Current.ApplicationInstance.CompleteRequest
而不是Response.End();
Response.Flush
和Response.End
做同样的事情,除了Response.End
停止执行页面,并引发EndRequest
事件。
当前响应过早结束时,调用End
方法会抛出ThreadAbortException
异常。
答案 1 :(得分:1)
所以我遇到了同样的问题,我正在使用异步触发按钮
<asp:AsyncPostBackTrigger ControlID="btn_login" />
在更新面板中。我切换到常规帖子不是最好的,但它的工作。
<asp:PostBackTrigger ControlID="btn_login" />.
由于我只是在页面上重定向,这是一个可行的解决方案。
答案 2 :(得分:0)
也许是因为Response.End会出现线程误差?看到 http://msdn.microsoft.com/en-us/library/system.web.httpresponse.end.aspx