私は現在のプロジェクトで次の問題を解決しようとしています。Asp.net Response.end
既存
サーバー側のクリックイベントがありaspx
ページ上のボタンがあります。このイベントでは、選択したグリッドビューの行に基づいて処理を行い、選択したレコードに基づいてブラウザにファイルダウンロードダイアログを表示します。すべてのレコードは、我々は、処理中にいくつかの選択レコードのエラーがあります」というプロンプトユーザーが欲しいし、処理中に失敗している場合は
を変更する
機能。あなたは、ファイルのダウンロードを続行しますか?」私はこの問題
を解決しようとした
アプローチは、私はいくつかのためにエラーがあることをユーザに通知するためにjqueryのダイアログを表示するには、サーバー側button_click
イベントからjqueryの機能をトリガー処理中に選択されたレコード。
ClientScript.RegisterStartupScript(GetType(), "Popup", "ShowPopup();", true);
私は、次のコードを実行するのAjaxを使用してWebメソッドを呼び出します。
response.Clear();
response.ContentType = "Application/Octet-Stream";
response.AddHeader("Content-Disposition",
string.Format("Attachment; FileName={0}", Path.GetFileName(filePath)));
response.WriteFile(filePath);
response.End();
結果
私がポップアップし、ウェブメソッドも細かい実行されているが、私は見ていないですですブラウザのファイルダウンロードダイアログボックス。このシナリオではresponse.end
が動作しないことは疑いがあります。