我在IIS 6.1,IE 7,ASP.NET 3.5 SP1中对此进行了测试。
我的aspx codebehind中的方法中有文件下载:
Response.ContentType = contentType;
Response.AppendHeader("Content-Disposition", contentDisposition);
Response.BinaryWrite(file);
这很有用,但如果我尝试修改任何服务器端控件,则更改不会生效。我已经将它分离到对ContentType的调用,这显然会在调用时消除响应流的所有挂起更改?这听起来对任何人来说都很熟悉吗?
如果代码采用备用分支并且下载调用未触发,则会按预期修改标记。
有关如何解决这个问题并让页面刷新附件并在同一响应流中更新UI的任何建议?
这是专门用于更新ValidationSummary,所以我可以在PageRequestManager事件完成时撕掉JS作为最后的手段,但我不想依赖JS来做这件事。
答案 0 :(得分:1)
不确定您要执行的操作 - 您是否尝试同时提供下载文件以及对其链接到的HTML页面的更新?这不是HTML的工作方式。
如果你想要实现这个结果那么你基本上必须渲染一个元重定向,该元重定向转到HTML中返回的文件,这样页面将加载然后开始下载(就像你会看到的一样)在很多下载网站上。)
答案 1 :(得分:1)
正如fyjham所说,我真的不明白你想要做什么。一些可能有用的提示: