发送HTTP标头后,服务器无法设置内容类型

我在以下代码( ContentType行)上收到错误(服务器无法在发送HTTP标头后设置内容类型。)。 我应该改变什么?

 System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.ClearContent(); response.ContentType = "text/plain"; response.AddHeader("Content-Disposition", "attachment; filename=" + System.IO.Path.GetFileName(PervasiveConstants.DownloadZipLocation) + ";"); response.TransmitFile(PervasiveConstants.DownloadZipLocation); response.Flush(); response.End(); 

这是在Sharepoint 2010 webpart中。

尝试设置response.BufferOutput = true; 。 设置response变量后立即执行此操作。

我在webform上遇到了类似的问题。 我通过在后面的代码中将以下代码添加到我的按钮来解决了这个问题:

 ScriptManager.GetCurrent(this).RegisterPostBackControl(btnPrint); 

这个解决方案对我有用,在方法的开头添加这行代码,

 Server.ClearError(); 

我有同样的问题,以下解决方案解决了问题,运行response.ClearHeaders(); 在运行response.AddHeader(之前response.AddHeader(