ASP.Net MVC, показать изображение не влияет на URL браузера - PullRequest
1 голос
/ 19 ноября 2011

Я сделал галерею изображений. И это работает. Но я, возможно, ошибся, что теперь могу заплатить слишком много :( Я не знаю.

У меня есть действие ImageGalleryController с Index, которое возвращает IndexView со списком изображений.

Когда я перехожу туда, адрес браузера: localhost/mysite/gallery

Когда пользователь щелкнул по изображению, я сделал вызов ajax (с помощью jquery). К действию sethod ShowImage. ShowImageView содержит полный браузер div с изображением в нем. Когда я вызываю show image, я передаю нажатие на imageID. После получения всех необходимых данных я возвращаю ShowImageView.

При вызове ajax я делаю:

$(document.body).append(resultViewShowImage);

И «ShowImageView» отображается в верхней части моего сайта. И здесь я могу перемещаться по изображениям и т. Д. Все это работает отлично.

Но теперь огромная проблема :

Когда я отображаю ShowImageView, это div, расположенный в верхней части моего сайта, и URL остается прежним localhost/mysite/gallery, когда я перемещаюсь по изображениям внутри URL, не меняется.

Я знаю, что здесь допустил огромную ошибку, но как правильно это исправить. Могу ли я что-то сделать с маршрутизацией или, возможно, для отображения этого «ShowImageView» каким-либо другим способом (не добавляя его в тело)?

Я пытаюсь понять, как 'flickr' отображает этот вид сверху, но безуспешно: (

1 Ответ

1 голос
/ 19 ноября 2011

Если вы посмотрите на то, как это делает flickr, и сравните браузеры, вы увидите, что они не меняют URL в IE8, например.Я бы изменил URL-адрес, используя JavaScript , когда пользователь переключает страницы, и использовал эти изменения, чтобы также работать в качестве параметров для вашего контроллера.

Редактировать:

Изменение URL-адресатолько одна часть решения.Например: измените URL на localhost / mysite / gallery / 1 при отображении первого изображения, используя JavaScript.Этот URL-адрес будет затем указывать на контроллер галереи с номером 1. В качестве параметра.

После этого в вашем контроллере вы должны увидеть, что это за параметр, и на основе этого выбрать, какое изображение отображать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...