分類:[ASP.NET (C#)]
2008/02/09(Sat) 12:22:53 編集(投稿者)
[環境]
Windows XP SP2
IE7(7.0.5730.11IS)
VisualStudio 2005 SP1
ASP.NET AJAX Extensions(1.0.61025.0)
Webサイトを使用(Webアプリケーションでない)
WebサーバはIISを使用
現在CSVファイルのダウンロード処理を実装中なのですが、掲題の現象が発生しており、解決策を探しております。
詳細を以下に示します。
[詳細]
1.DownLoad.aspxのPage_Loadにて、以下のコードを記述。
protected void Page_Load(object sender, EventArgs e)
{
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = System.Text.Encoding.GetEncoding(932);
Response.AddHeader("Content-Disposition", "attachment;filename=DownLoad.csv");
Response.Write("hogehoge");
Response.End();
}
2.Default.aspx(にButton1を配置し、Button1_ClickにてDownLoad.aspxへリダイレクト。
なお、Default.aspxにはScriptManagerが追加されている。
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("DownLoad.aspx");
}
3.デバッグ実行
4.Default.aspxのボタンをクリック
5.「ファイルのダウンロード」ダイアログが開くので、「保存」ボタンをクリック。
6.「ファイルのダウンロード」ダイアログが「ファイルの情報を取得しています...」状態になり、そこから進まない。
7.「ファイルのダウンロード」ダイアログにて「キャンセル」ボタンをクリック。
8.もう一度Default.aspxのボタンをクリック。
9.「ファイルのダウンロード」ダイアログが開くので、「保存」ボタンをクリック。
10.今度はダウンロードが行われ、「名前をつけて保存」ダイアログが表示される。
上記6.の現象がどうしても回避できず、お手上げ状態です。
何かご存知の方がいらっしゃいましたら、教えていただけないでしょうか。
なお、上記3.ではデバッグ実行でしたが、「デバッグなしで開始」でも同じでした。
以上、よろしくお願いいたします。
[追記]
該当サイトをIEからURLを打って開いた直後も、同様の現象が発生します。
[さらに追記]
6.の現象ですが、その後何度か試したところ、必ず発生するというわけではなく、そのときどきによって、発生したり発生しなかったりします。