IIS 6.1、IE 7、ASP.NET 3.5 SP1 でこれをテストしました。
aspx コードビハインドのメソッドでファイルをダウンロードしています。
Response.ContentType = contentType;
Response.AppendHeader("Content-Disposition", contentDisposition);
Response.BinaryWrite(file);
これはうまく機能しますが、サーバー側のコントロールを変更しようとすると、変更が反映されません。私はこれを ContentType への呼び出しに分離しました。これは、呼び出されたときに、Response ストリームへのすべての保留中の変更を明らかにホイップしますか? これは誰にとってもおなじみの音ですか?
コードが別の分岐を取り、ダウンロードの呼び出しが発生しない場合、マークアップは期待どおりに変更されます。
これを修正し、ページに添付ファイルをフラッシュさせ、同じ応答ストリームで UI を更新する方法について何か提案はありますか?
これは特に ValidationSummary を更新するためのものであるため、最後の手段として PageRequestManager イベントの完了時に JS を引き裂くことができますが、これには JS に依存したくありません。