Как создать страницу при сохранении значений строки запроса в ASP.Net Mvc 2 - PullRequest
2 голосов
/ 13 апреля 2010

Я использую пейджер, предоставленный Martijn Boland для реализации подкачки в моем приложении Asp.Net Mvc 2.

Моя форма использует метод GET для отправки всех параметров в строку запроса, это форма поиска с несколькими элементами формы.

<% using (Html.BeginForm("SearchResults", "Search", FormMethod.Get))
       {%>

В представлении SearchResults я пытаюсь реализовать подкачку:

<div class="pager">
    <%= Html.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount, 
        new { Request.QueryString })%>
</div>

Html.Pager имеет некоторые перегрузки, которые я не очень понимаю, как использовать. Request.QueryString заставляет строку запроса выглядеть следующим образом:

http://localhost:1155/Search/SearchResults?QueryString=Distance%3D10%26txtZip%3D%26cb&page=2

Разве это не должно быть так?

http://localhost:1155/Search/SearchResults?Distance=20&txtZip=10021&page=2

1 Ответ

1 голос
/ 13 апреля 2010

Я думаю, что написать ваш пейджер вот так

<%= Html.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount,  new { Distance = Request["Distance"], txtZip = Request["txtZip"] })%>

но это только предположение, я никогда не использовал это ...

Редактировать: см. ASP.Net MVC Сохранение параметров действий между обратными передачами поэтому вы должны создать RouteValueDictionary из QueryString, который является NameValueCollection.

...