ajax(正確にはMicrosoftの更新パネル)を介して取得される検索結果のリストがあります。問題は、Webブラウザのバックボタンを使用して、Ajaxをフェッチした前のリストに戻ることができないことです。アイデアはありますか?ajax呼び出しを使用するときのブラウザのバックボタンの問題
おかげ
ajax(正確にはMicrosoftの更新パネル)を介して取得される検索結果のリストがあります。問題は、Webブラウザのバックボタンを使用して、Ajaxをフェッチした前のリストに戻ることができないことです。アイデアはありますか?ajax呼び出しを使用するときのブラウザのバックボタンの問題
おかげ
だ、URLに何かを追加。
function getAjaxResource(id) {
// some ajax stuff
window.location.hash = 'resource=' + id;
}
次に、javascriptのsetInterval関数を使用してウォッチャーをハッシュに追加する必要があります。
var hash = window.location.hash;
window.setInterval(function() {
if (window.location.hash != hash) {
hash = window.location.hash;
getAjaxResource(hash.replace('resource=',''));
}
},100);
ユーザーが戻る/進むをクリックするたびにハッシュが変更され、ウォッチャーがその変更を選択します。
はpage.html#state1
、page.html#state2
などのようにそれはあなたがすべてのAJAX呼び出しがwindow.location.hashを更新するために必要な一般的な慣行
こんにちはsemyon、私はそれを行うことはできませんあなたの答えをbuに感謝します。更新パネルはPOSTを使用して新しいデータを取得します。 – Erwin
@Erwin - あなたはajaxリクエストを作成するときにjavascriptでハッシュ番号を設定します –
これは、updatepcelコンテンツの正しいデータを得るためにフォームデータをポストするので、asp.net updatepanelsで自動的には機能しません。ブラウザの戻るボタンまたは進むボタンを押すと、そのページ状態の正しいフォームデータがわからなくなり、表示する内容がわからなくなります。 – Willem