- PR -

Response.WriteFile使用時のページの更新について

1
投稿者投稿内容
どら吉
常連さん
会議室デビュー日: 2003/08/29
投稿数: 21
お住まい・勤務地: 福岡
投稿日時: 2003-09-17 17:05
こんにちは、お世話になります。

現在、ASP.NETとC#でデータベースの参照と更新を行うシステムを作成中です。
データの表示にはDataGridを利用し、更新にはOnUpdateCommandでメソッドを指定して
実現しています。

この更新処理の最後にファイルのダウンロード処理を入れなくてはいけません。
依然こちらで教えていただいた
string name = Path.GetFileName( path );
Response.ContentType = "text/html";
Response.ContentEncoding = Encoding.GetEncoding("Shift_JIS");
Response.Charset = "shift_jis";
Response.AppendHeader( "content-disposition","attachment; filename=" + HttpUtility.UrlEncode(name));
Response.WriteFile( path );
Response.End();
というコードを実装しているのですが、これを行うと、データベースの更新が
データグリッドに反映されません。指定したファイルが存在しない、などでエラーに
なった分はtry〜catchで拾って、Response.ClearHeaderを行うことで、問題なく
データベースの更新をデータグリッドに反映させることができています。
どのようにしたら、ファイルのダウンロードが正常に終了した際にもデータグリッドの
表示が更新されるようになるのでしょうか?

アドバイス、よろしくお願いします。
ぴで
大ベテラン
会議室デビュー日: 2002/10/10
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2003-09-18 00:00
HTTPの仕様上1つのリクエストに2つのレスポンスを返すことはできません。
画面の更新が終わった後でダウンロードボタンを押させるとか、
onloadで自動的にダウンロードさせるようにスクリプトを書いてください。
どら吉
常連さん
会議室デビュー日: 2003/08/29
投稿数: 21
お住まい・勤務地: 福岡
投稿日時: 2003-09-19 15:19
アドバイスありがとうございます。

Onload時にJAVAスクリプトでダウンロードするよう、
コードを書き直しています。
1

スキルアップ/キャリアアップ(JOB@IT)