我已经在 IIS 6.1、IE 7、ASP.NET 3.5 SP1 中对此进行了测试。
我在我的 aspx 代码隐藏的方法中有一个文件下载:
Response.ContentType = contentType;
Response.AppendHeader("Content-Disposition", contentDisposition);
Response.BinaryWrite(file);
这很好用,但是如果我尝试修改我的任何服务器端控件,则更改不会生效。我已将其隔离为对 ContentType 的调用,这显然会在调用时鞭打响应流的所有未决更改?这听起来很熟悉吗?
如果代码采用备用分支并且下载调用未触发,则按预期修改标记。
关于如何解决此问题并让页面刷新附件并在同一响应流中更新 UI 的任何建议?
这专门用于更新 ValidationSummary,因此我可以在 PageRequestManager 事件完成时撕入 JS 作为最后的手段,但我不希望为此依赖 JS。