Asp.Netダウンロードファイル/エクスポートファイル応答なし/ダウンロードボックスが弾けない
2969 ワード
開発の仕事の中で、いろいろな問題に直面して、あるのはとてもおかしくて、いつも
実行が自分の望む結果ではないか、
私たちが本当に解決方法を知ってから、「ああ、ここの原因だったのか」と知った.
一度の作業では、レポートファイルをダウンロードする機能を追加するには、簡単です.ページにボタンを追加し、ボタンサーバーイベントを書けばいいのですが、このように簡単で問題に直面しました.
ネット上のダウンロード機能のコードは大同小異で、コードのように実現方式は、実行後は応答がなく、反応がなく、ファイルのダウンロードボックスが弾けない.
その理由は、このダウンロードボタンがのにあるため、
サブノードに追加する必要があります
ここでControl IDはボタンの位置を指定し、
ページ-->UpdatePanel-->ContentTemplate->ユーザーコントロール-->ダウンロードボタン、
ユーザーコントロールのIDを書き込む必要があります.
ダウンロードボタンが直接ページにある場合
ページ-->UpdatePanel-->ContentTemplate->ダウンロードボタン、
ダウンロード/エクスポートボタンのIDを書き込む必要があります.
Exce/xlsのエクスポートもダウンロードであり、同様の問題が発生する可能性があります.
実行が自分の望む結果ではないか、
私たちが本当に解決方法を知ってから、「ああ、ここの原因だったのか」と知った.
一度の作業では、レポートファイルをダウンロードする機能を追加するには、簡単です.ページにボタンを追加し、ボタンサーバーイベントを書けばいいのですが、このように簡単で問題に直面しました.
protected void btnDownload_click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(ReportCurrent.Text.Trim()))
{
string path = "~/" + ReportCurrent.Text.Trim();
string filePath = Server.MapPath(path);
if (!File.Exists(filePath))
{
PublicClass.setMessage(this, " !");
return;
}
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;filename=" + Path.GetFileName(filePath));
Response.TransmitFile(filePath);
Response.Flush();
Response.End();
}
}
ネット上のダウンロード機能のコードは大同小異で、コードのように実現方式は、実行後は応答がなく、反応がなく、ファイルのダウンロードボックスが弾けない.
その理由は、このダウンロードボタンが
ここでControl IDはボタンの位置を指定し、
ページ-->UpdatePanel-->ContentTemplate->ユーザーコントロール-->ダウンロードボタン、
ユーザーコントロールのIDを書き込む必要があります.
ダウンロードボタンが直接ページにある場合
ページ-->UpdatePanel-->ContentTemplate->ダウンロードボタン、
ダウンロード/エクスポートボタンのIDを書き込む必要があります.
Exce/xlsのエクスポートもダウンロードであり、同様の問題が発生する可能性があります.