Как отправить параметр в строке запроса на вызов ajax в asp.net mvc - PullRequest
2 голосов
/ 08 октября 2010

Я хочу отправить выбранное значение страницы в строку запроса во время навигации по страницам.

URL, сгенерированный для подкачки, выглядит следующим образом:

Link/Index?page=2
Link/Index?page=3

Но на моем URL он показывает только Link/Index и выполняет Ajax-вызов. Но если я отключаю свой Javascript, а затем перемещаюсь по страницам, он получает Postback и имеет URL-адрес типа

Link/Index?page=2

Что идеально. Но я хочу этот тип URL в вызове Ajax.

Как я могу это сделать? Проблема заключается в том, что если мы перемещаемся по страницам, когда включен Javascript, он показывает ссылку / индекс, а когда пользователь переходит на страницу № 2, затем 3, затем 4 и нажимает кнопку «Назад», он переходит к нажатию страницы вместо страницы 3 и страницы 2.

Вот код, который генерирует ссылки на страницы:

    <%= Ajax.Pager(
        new AjaxOptions { 
            UpdateTargetId = "divGrid", LoadingElementId = "divLoading" 
        }, 
        ViewData.Model.PageSize, 
        ViewData.Model.PageNumber, 
        ViewData.Model.TotalItemCount, 
        new { controller = "LinkManagement", action = "Index" }
    )%>

1 Ответ

2 голосов
/ 08 октября 2010

Это на самом деле не проблема с пейджером, но именно так работает ajax. Поскольку вы не создали новый полностраничный запрос, в истории ничего не сохраняется, чтобы позволить кнопке «Назад» также сохранять вызовы ajax. Вам нужно использовать что-то вроде jquery.history (http://tkyk.github.com/jquery-history-plugin/) или jquery адрес api (http://www.asual.com/jquery/address/samples/api/#/section/?id=2.2).

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