0

我的代码是

请给我解决方案...谢谢

  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;
4

3 回答 3

2

此通知意味着线程当前正在执行代码,因此不能用于计算表达式。

利用

 HttpContext.Current.ApplicationInstance.CompleteRequest 

代替Response.End();

Response.FlushResponse.End做同样的事情,除了Response.End停止页面的执行,并引发EndRequest事件。

当前响应过早结束时,对方法的调用会End引发异常。ThreadAbortException

于 2013-10-07T08:12:50.440 回答
1

所以我遇到了同样的问题,我使用的是异步触发按钮

<asp:AsyncPostBackTrigger ControlID="btn_login" />

在更新面板中。我改用常规回帖不是最好的,但它起作用了。

<asp:PostBackTrigger ControlID="btn_login" />. 

由于我只是在页面上重定向,这是一个可行的解决方案。

于 2013-12-17T17:26:38.453 回答
0

也许是因为 Response.End 给出了线程中止错误?请参阅 http://msdn.microsoft.com/en-us/library/system.web.httpresponse.end.aspx

于 2013-10-07T07:52:04.963 回答