ASP.NET MVC Обновление адресной строки с помощью ссылки AJAX

StackOverflow https://stackoverflow.com/questions/3658320

Вопрос

Я пытаюсь создать галерею, управляемую Ajax, где каждая фотография в последовательности загружена Ajax.Actionlink.

Пользователь может добраться до любого приведенного фото, передавая параметр в метод действий, например: Gallery/Index?photo=100

Проблема в том, что когда пользователь накисляет фотографии с Ajax.ActionlinkURL URL больше не обновляется (так, как он будет во время обычных спинсов), поэтому они не могут скопировать вставку из адресной строки, чтобы вернуться на фотографию.


Мой вопрос: какой лучший способ решить эту проблему в ASP.NET MVC? Одна вещь, о которой я думал, было обновление адресной строки с хэштегами, но, честно говоря, я не знаю, является ли это хорошим подходом.

Я мог бы использовать несколько лучших советов о том, как решить эту проблему. Любые предложения были бы очень оценены, спасибо.

Это было полезно?

Решение

Если вы действительно хотите обновить адресный бар с каждым обновлением Ajax, есть пару библиотек JQuery / JavaScript, которые вы можете использовать, как описано в этом блоге: http://stephenwalther.com/Archive/2010/04/08/jquery-asp-net-and-browser-history.

Тем не менее, решение лучшего практики обычно не пытается не пытаться подделать что-то подобное (его только пойдет не так). Если вы хотите дать своим пользователям возможность поделиться или ссылку на фотографию - предоставить поле с соответствующим URL или погибшим в URL-адреса, который они могут копировать. Google Maps имеет хороший пример этого - если вы хотите поделиться картой с кем-то еще.

Другие советы

Я бы посмотрел на переписывание ваших маршрутов, чтобы включить идентификатор фотографии на пути.

Например, / галерея / индекс / 100 вместо? Фото = 100. Это было бы то, почему ваши методы действий действий не работают, как они должны, поскольку напротив не является частью маршрута.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top