@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

CSV形式ファイルを出力したあとの処理について

1
投稿者投稿内容
taro
ベテラン
会議室デビュー日: 2003/08/06
投稿数: 55
投稿日時: 2003-10-02 14:28

ASP.NETとWindows2000でWebアプリ開発をしています。

CSV形式ファイルを出力するために以下のような方法でやっています。
しかし、この方法だと、Response.End()でページロードが終わってしまいこの後の処理ができなくなってしまいます。Response.End()のあとの処理にいくためにはどのような方法があるでしょうか?

どなたかご教授おねがいします。

Response.ContentType = "application/octet-stream"
Response.AddHeader("content-disposition", "attachment; filename=" & strFileName)

Response.BinaryWrite(enc.GetBytes("strCsv"))

Response.End()

NYRL
ベテラン
会議室デビュー日: 2003/07/14
投稿数: 90
投稿日時: 2003-10-02 14:47
Response.End() はそこでレスポンスが終了ですよという意味なので
これ以降を実行することはできません。

ですので Response.End() の位置をやりたい処理の後ろまで移動してみては?
taro
ベテラン
会議室デビュー日: 2003/08/06
投稿数: 55
投稿日時: 2003-10-02 15:00

NYRL様 ご返事ありがとうございました。

>Response.End() はそこでレスポンスが終了ですよという意味なので
>これ以降を実行することはできません。
>
>ですので Response.End() の位置をやりたい処理の後ろまで移動してみては?

このあとの処理というのが、Server.Transfer()の処理なのでこの後ろに
Response.End() をおくとServer.Transfer()の処理で別ページに飛んでしまい、
CSVファイルの出力ができません。

私が考えている処理としては、ボタンを押下後、ページロードが済みその後にCSVファイル保存のためのダイアログが出ないものかと考えています。
ぴで
大ベテラン
会議室デビュー日: 2002/10/10
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2003-10-02 15:11
たぶんやりたいのはこれと同じようなことだと思いますが、CSVファイルをダウンロードさせるのと同時にHTMLページも更新するというようなことはできません。
taro
ベテラン
会議室デビュー日: 2003/08/06
投稿数: 55
投稿日時: 2003-10-02 15:25

ぴで様 ご返事ありがとうござました。

別の方法で対処を考えてみようと思います。

ありがとうございました。
1

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