ボタンをクリックすると、PDFが生成されてレスポンスに書き出されます。レスポンスにファイルを書き込んだ後に投稿を完了する方法はありますか?
これは、コードの基本的な構造である:ファイルのダウンロード
response.AddHeader("Content-Disposition", String.Format("attachment; filename={0}", filename));
response.AddHeader("Content-Length", bytes.Length.ToString());
response.ContentType = "application/octet-stream";
response.BinaryWrite(bytes);
はそれがポストバックを完了しないことを除いて、正常に動作します:送信方法は、次のコードが含まれてい
try
{
using(Stream stream = generatePdf())
{
var file = createFile(stream);
file.Transmit(HttpContext.Current.Response);
}
}
catch (Exception ex)
{
// Handle exception
// Display Error Message
}
。
file.Transmit
の上に例外をスローすると、エラー処理が正常に動作し、メッセージがブラウザに表示されます。ただし、file.Transmit
の後に例外がある場合は何も起こりません。ユーザーがPDFを保存/開くと、ページがリロードされません。
どのようにして、ポストバックが常に完了し、ユーザーに適切なメッセージを表示できるようにすることができますか?