Вопрос по jquery, ajax, asp.net-mvc – Ajax Paging - Включить кнопку Назад [дубликаты]

5

Possible Duplicate:
How to: Back button support “Ajax”

У меня есть реализация ASP.NET MVC, в которой я получаю частичные представления через jQuery для таких вещей, как разбиение на страницы и фильтрация. Однако проблема заключается в том, что таким образом я ломаю кнопку назад браузера. Как я могу восстановить поведение кнопки «назад» (переписать URL-адрес без обновления, используя фунт? Хотя вы не знаете, как это работает, и как повторно получить данные при нажатии кнопки «Назад»)

Спасибо за помощь!

Пейджинг не требует JQuery. Вы добавляете дополнительные функции, делая это? Robert Harvey♦
Это не о jQuery. Мне просто нужно знать, как я могу сохранить кнопку «Назад» при обновлении контента через AJAX (например, через jQuery) Alex
Пожалуйста, проверьте этот вопрос:stackoverflow.com/questions/648250/… Amr Elgarhy
Хм ... вы можете использовать здесь шаблон команды? Инкапсулируйте свои действия в объекте Command и храните их в коллекции Commands. Перемещайтесь назад и вперед по нему, а также обрабатывайте Назад и Вперед в jQuery Реализация мудрая, пока не слишком уверенная. Давай попробуем :). Jimmy Chandra

Ваш Ответ

3   ответа
4

Попробуйте использоватьjquery.history плагин. Это может приятно выполнить то, что вы хотите.

Ух ты, этот плагин просто фантастический!
4

Как вы знаете, JavaScript-пейджинг убивает кнопку возврата. Но это также убивает возможность ссылки на данную страницу. Чтобы избежать перезагрузки страницы, но сохранить кнопку «Назад», вам нужно использовать # в URL. Тогда вы сможете использовать кнопку «Назад» (и ссылку непосредственно на страницу), но вам нужно будет проанализировать URL-адрес при загрузке страницы, переместив страницу на правильный.

РЕДАКТИРОВАТЬ:

Получить URL:

var baseURL = location.href.slice(0, location.href.indexOf('#'));

Затем добавьте к URL с вашим новым ресурсом:

location.href = baseURL + '#page2';
//you'll probably want to figure out the page number programatically

Но не забудьте перейти к нужному ресурсу при загрузке:

$(goToResource);
function goToResource() {
    var hashURL = location.href.slice(location.href.indexOf('#'));
    //you AJAX code to load the resource goes here
}

Конечно, вы можете найти плагин, который сделает все это для вас.

Не могли бы вы добавить пример для этого с JQuery и C #? Alex
1

Пожалуйста, посмотрите на Добавление поддержки истории браузерана этой странице

В статье не упоминается, что это не работает для IE из коробки. Вам нужно будет включить iframe на своей странице, чтобы он работал с IE.

<iframe id="__historyFrame" style="display:none;" ></iframe>

Я только проверил в IE7 и Firefox. Учитывая недокументированную проблему с IE, я не уверен, что она будет работать в широком диапазоне браузеров.

Похожие вопросы