私は、asp.netベースのWebサイトでいくつかの動作を診断しようとしています。ASP.Net Response.Redirect戻るボタンをエミュレートする
ユーザーはpage1上にあり、GridViewにデータとページ2にリダイレクトするハイパーリンクを設定するクエリを実行します。
ユーザーがハイパーリンクをクリックし、データを編集できるページ2にリダイレクトされます。ページ2の一番下には、ユーザーをページ1に戻すキャンセルボタンがあります。
[キャンセル]ボタンをクリックすると、検索結果が表示された状態でpage1に戻ります。これは、ブラウザの[戻る]ボタンをクリックしても、response.redirectでこの動作をエミュレートできない場合に機能します。
私は、次の組み合わせの数試してみた:
reponse.redirect(request.url.tostring())
を、すべてのインスタンスが
をPage1のページ2を参照しないように思えますご意見はありますか?
こんにちは、応答のおかげで、それはまだ動作していない、私は何が起こっているかを明らかにする。私はいくつかのブレークポイントを追加し、少し拡張することができます。 page2では、Page_Loadイベントにブレークポイントを設定しました。私がrequest.headers( "Referer")を出力すると、page1を正しく参照しています。 ページ2では、ユーザーをページ1に戻す必要がある「戻る」ボタンがありますが、「戻る」ボタンをクリックするとpage_loadイベントが発生し、request.headers( "referer")がpage2を指しています。したがって、私はページ1の元のクエリに戻ることはできません – kevin
"戻る"ボタンのコードを投稿してください。あなたがしなければならないことは、あなたのボタンであるアンカータグのhrefにViewBagに保存した値を送信することです(上で示したように)。私の推測では、あなたのボタンは「提出」であり、フォームを提出しようとしています。 – nurdyguy
私が "戻る"ボタンイベントでやっていることは、あなたが提案したようにresponse.redirectを呼び出し、それに保存された値を渡すことです。さらに調査した後、ボタンがポストバックを引き起こしているかどうかを判断する必要があると思います。リファラを割り当てないでください。 – kevin