2017-01-23 7 views
-1

現在、私はページAと言います。URLはhttp://localhost:22507/PageA.aspxです。そこからドロップダウン値を選択します。同じページにいくつかの余分なデータとドロップダウンとともに編集ボタンが表示されます。ページのURLはまだhttp://localhost:22507/PageA.aspxです。編集ボタンをクリックすると別のページのページにリダイレクトされます。B.現在のURLはhttp://localhost:22507/PageB.aspx?qstr=6EysKHDt1+a/m8SQcruQOCVgWF+9+PCfmydyeX5wbKU=です。戻るボタン機能c#

ページBの[戻る]ボタンをクリックすると、最初の状態になります。つまり、もう一度ドロップダウンを選択して編集をクリックしてください。

[戻る]ボタンをクリックした直後の状態(ページAのデータと編集ボタン)に戻るにはどうすればよいですか?

は今、私は状態の変化を記録するために、ブラウザのアドレスバーと歴史を更新するために、pushStateを使用して、選択したリスト項目を変更する場合

+0

JavaScriptを使用することができます:window.history.back(1); false false; " –

+1

https://developer.mozilla.org/en/US/docs/Web/APIでpushStateを見てください。/History_API。これにより、新しい履歴レコードが作成されます。この履歴レコードでは、戻るボタンを使用して移動することができます。 javacsriptを使用してクエリ文字列をチェックし、適切な状態を表示します。あるいは、ユーザーの履歴を保存し、最後に見たものを「記憶」するためにクッキーを使用することもできます。 – webdevduck

答えて

0

をリダイレクトするためのResponse.Redirect("PageA.aspx", false);を使用しています。例:/PageA.aspxが表示されているアドレスバーの代わりに、代わりに/PageA.aspx?selected=1が表示されます。

PageB.aspx?qstr = 6EysKHDt1 + a/m8SQcruQOCVgWF + 9 + PCfmydyeX5wbKU =の戻るボタンを使用すると、戻るを押すとPageA.aspx?selected = 1に戻ります。クエリ文字列を解析して、表示する正しい状態を判断することができます。

Mozillaは、ここにpushStateに関するドキュメントを提供しています:https://developer.mozilla.org/en-US/docs/Web/API/History_API

古いブラウザでは互換性の問題があることに注意してください。古いボタンをクリックすると、ドロップダウンが変更されたときにクエリ文字列でページをリロードして、戻るボタンをほぼ同じように動作させることができます。ページの再ロードを避ける代替手段は、状態を示すフラグを用いてクッキーを更新することである。ページの読み込み時に、Cookieとフラグを確認します。しかし、クッキーの有効期限を検討する必要があります(つまり、戻ってこないが、何らかの手段でpageAに再度ナビゲートした場合、保存された状態をまだ受け入れられるでしょうか?)。

関連する問題