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

CSVファイルのダウンロード

投稿者投稿内容
よしな
常連さん
会議室デビュー日: 2003/06/16
投稿数: 20
投稿日時: 2004-10-07 18:25
いつもお世話になっております。

現在、ASP.netでの開発をしており、ダウンロード機能を作成しましたが
WindowsXP SP2のクライアントで行うと、ダウンロード時の[保存][キャンセル][開く]ボタンが表示されるポップアップ時に元画面が終了してしまいます。

もし対応方法があれば教えて頂けないでしょうか?
よろしくお願いします。
ダウンロードは以下の方法で行いました。

Response.Clear()
Response.AddHeader("Content-Disposition", "attachment;filename=test.csv")
Response.ContentType = "application/octet-stream"
Response.ContentEncoding = System.Text.Encoding.GetEncoding("Shift-JIS")

strData = 内容
Response.Write(strData & vbCrLf)
Response.Flush()
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-10-07 19:14
引用:

カネさんの書き込み (2004-10-07 18:25) より:

現在、ASP.netでの開発をしており、ダウンロード機能を作成しましたが
WindowsXP SP2のクライアントで行うと、ダウンロード時の[保存][キャンセル][開く]ボタンが表示されるポップアップ時に元画面が終了してしまいます。


 他の、SPなしとか、SP1とか、2000とかでは、元画面は終了しない、ということでしょうか?

 ただ、私が確認している現象として、submitした戻りとしてダウンロードさせた場合、NNやOperaでは大丈夫ですが、IEだとJavaScriptが効かなくなる、ということがあります。これは、レスポンスの解釈の仕方によるのでしょう。え〜、うまく説明できませんが、「いまあるHTML」を、新しいレスポンスで上書きするのですから、仕方がないのかなぁ?とか思ったり。
_________________
よしな
常連さん
会議室デビュー日: 2003/06/16
投稿数: 20
投稿日時: 2004-10-07 19:31
早速の返答ありがとうございます。

他のバージョン、2000での検証も行いました。
他では問題が発生しませんでした。

XP SP2により、IEのセキュリティに関する更新があり
そういった現象がでているのではと思っています。

他の方法はありますか?
SP2を充てないという運用上で今のところは対応するしかないですか?


ご指摘のとおり、JavaScriptが効かなくなるといったことも現象がありました。
(データ定義が・・・といった感じの)
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-10-12 20:55
 私のPCはSP2を当てていないのですが、VirtualPCにインストールしたXPには当てていたのを思い出したので、やってみました。が、元の画面は消えませんね・・・。しかも、『submitした戻りとしてダウンロードさせた場合、JavaScriptが効かなくなる』という現象が無くなっていました。

 で、自分の作ったものと見比べてみると、
・ContentTypeが、"text/csv"である
・内容を、BinaryWriteメソッドを使って、バイト配列で出力している
・内容出力後、Endメソッドで閉じている

という違いがありました。
えんぞ@?
ぬし
会議室デビュー日: 2004/07/06
投稿数: 271
お住まい・勤務地: はまっこ
投稿日時: 2004-10-13 09:48
カネさんのコーディング手法にて、当方で確認したところ問題なく動作しました。
[クライアント環境]
 WinXP SP2
 IE 6.0 SP2

# イントラ
GOH
会議室デビュー日: 2004/02/13
投稿数: 8
投稿日時: 2004-12-02 18:32
過去ログを検索していたら自分と同じ事で悩んでいる方が・・・
ピンポイントで見つかって喜んでいたら
解決までは至っていなかったので
古いスレッドですが横から失礼します。

私も同じ現象で
WinXP SP1で問題なく動作していたものが
WinXP SP2を適用後、同じ様に元画面が終了してしまうようになってしまいました。

カネさんと違う点は
ポップアップ時に元画面が終了するのではなく
[開く][保存][キャンセル]を押すと終了してしまう
ということです。

また、カネさんは書かれていないですが
おそらくフレームを使用しているのではないかと・・・
というのも、いろいろと検証した結果フレームなしの場合は
以前の動きと変わらなかったからです。

解決方法をご存知の方。ご教授お願いします。

[クライアント環境]
WinXP SP2
IE6.0 SP2
ひでたつ
常連さん
会議室デビュー日: 2002/08/09
投稿数: 28
お住まい・勤務地: 岩手県
投稿日時: 2004-12-02 20:52
こんにちは。

リンク元に Target="_top" と追加するとどうでしょうか?
GOH
会議室デビュー日: 2004/02/13
投稿数: 8
投稿日時: 2004-12-02 22:07
返答有難うございます。

引用:

ひでたつさんの書き込み (2004-12-02 20:52) より:

リンク元に Target="_top" と追加するとどうでしょうか?




これは具体的にどのように実現すれば良いのでしょうか?
ご教授ください。

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