言語:C# / Ver:2005 / プラットフォーム:Windows XP
皆様お疲れ様です。
少し前にもお世話になったのですが、
また、わからない事がでてきましたので
環境:WindowsXP+IE7
画面の動き:
1.画面Aのボタンをクリックする
↓
2.JavaScriptにより画面Bが起動
↓
3.ファイルダウンロード処理
このような流れなのですが、
3のダウンロード処理が
行われる時と行われない時があります。
(止まってしまう時は、ファイルダウンロードダイアログのダウンロード先が空白になっていて、動く時はダウンロード先
に「一時ディレクトリ」と表示されています)
試しに、ほかのパソコン(2000+IE6、XP+IE6)
で動かしたところ、こちらの方では問題なく動きました。
皆様は同様な現象が起きてませんでしょうか?
<画面Bのダウンロード処理プログラム>
Repeater repeater = this.Repeater1;
repeater.DataSource = table;
repeater.DataBind();
Page page = new Page();
HtmlForm form = new HtmlForm();
form.Controls.Add(repeater);
page.Controls.Add(form);
using(StringWriter sWriter = new StringWriter())
using(HtmlTextWriter hWriter = new HtmlTextWriter(sWriter)) {
try {
page.RenderControl(hWriter);
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment;filename=Test.xls");
Response.ContentType = "Application/vnd.ms-excel";
Response.Charset = "UTF-8";
Response.Write(string.Format("
{0}
", sWriter.ToString()));
hWriter.Close();
sWriter.Close();
} catch(Exception ex) {
string ss = ex.Message;
}
}
Response.Flush();
//Response.End(); HttpContext.Current.ApplicationInstance.CompleteRequest();
余談ですが...
IE7で投稿すると、何故か改行が消えてしまうようですね。