0

ユーザーがチェックボックスをオンにして特定のボタンをクリックすると、サーバー上ですでにいくつかのことを行ってResponse.Redirectから、ページを「リセット」するために使用します。また、応答を使用してデータテーブルを Excel スプレッドシートに「エクスポート」できる機能もありますapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet

これらは両方とも、別々にすると素晴らしく機能します。しかし、私が今しなければならないことは、ボタンを 1 回クリックした後に両方のイベントが発生するようにすることです。

Excelにエクスポートした後に応答をフラッシュし、その後応答をリダイレクトする必要があるようですが、これを機能させることができないようです。私はこれについてはかなり外れている可能性があり、助けが必要です。ありがとう

編集:

わかりました。新しいページ (downloadexcel.aspx) を開いてダウンロードを開始し、ダウンロードが完了したら閉じます。現在のページの応答に書き込むことにより、javascript を使用して downloadexcel.aspx を開いています。ただし、何らかの理由で、元のページがリダイレクトされる前にウィンドウが開かれていません。リダイレクトする前に呼び出されるメソッドですか? 多分私は構文の問題を抱えていますか?

Response.Write("<script type='text/javascript'>window.open('~/DownloadExcel.aspx', '', ''); </script>")

        Response.Redirect("~/BulkImport.aspx")
4

1 に答える 1

0

単一の HTTP リクエストでこれを行う場合、単一の応答が得られます。クライアントをリダイレクトするには、HTTP 200 (ファイルをコンテンツとして) または HTTP 301 を返すことができます。両方を返すことはできません。

肝心なのは、アプローチを再考する必要があるということです。リダイレクトを使用してページをリロードする代わりに、javascript を使用してクライアント側のフォームを「クリーン」にすることができます。

于 2013-01-14T20:59:06.920 に答える