【发布时间】:2015-11-05 14:10:30
【问题描述】:
所以我的网格视图中有一个按钮。如果用户单击该按钮,则会发送一个行命令并下载/写入一个 pdf 文件到响应中。
代码
HttpResponse httpResponse = Response;
httpResponse.Clear();
httpResponse.ContentType = "application/pdf";
httpResponse.AddHeader("content-disposition", $"attachment;filename={rowData.Pod.fileName}");
httpResponse.Output.Write(bytes);
Response.Flush();
HttpContext.Current.ApplicationInstance.CompleteRequest();
由于某种原因,我在尝试下载文件时总是得到Server cannot set content type after HTTP headers have been sent.。现在,gridview 位于更新面板中,但这应该不是问题,因为其他用于下载的按钮也可以工作。
在下载文件之前,我也尝试将缓冲区发送为 true,但这并没有改变它。
编辑
问题是我在 gridview 的“selectedindexchanged”上设置了一个异步回发以显示模式。有什么办法可以解决这个问题吗?当我更改触发器时,整个页面会在显示模式之前重新加载并重新启动。将文件更改为回发而不是异步回发后下载文件
【问题讨论】: