Asp.net mvc 2 如何在ASP.NETMVC2中维护查询字符串值的同时进行分页

Asp.net mvc 2 如何在ASP.NETMVC2中维护查询字符串值的同时进行分页,asp.net-mvc-2,pagination,Asp.net Mvc 2,Pagination,我正在使用提供的寻呼机在我的Asp.NETMVC2应用程序中实现分页 我的表单使用GET方法将所有参数发送到querystring,它是一个包含多个表单元素的搜索表单 <% using (Html.BeginForm("SearchResults", "Search", FormMethod.Get)) {%> 难道不是这样吗 http://localhost:1155/Search/SearchResults?Distance=20&txtZip=10021

我正在使用提供的寻呼机在我的Asp.NETMVC2应用程序中实现分页

我的表单使用GET方法将所有参数发送到querystring,它是一个包含多个表单元素的搜索表单

<% using (Html.BeginForm("SearchResults", "Search", FormMethod.Get))
       {%>
难道不是这样吗

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

我猜是这样写你的传呼机

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

但这只是猜测,我从来没用过

编辑:请参见
因此,您必须从QueryString创建一个
RouteValueDictionary
,QueryString是一个
NameValueCollection

我已经列出了两个querystring参数,还有几个,我正试图避免单独列出它们。您看到我的编辑了吗,您必须将querystring强制转换为IDictionary并将其传递给ne RouteValueDictionary构造函数。这里有两个以上的参数,所以我尽量避免将它们单独列出。我想再次回答这个问题(编辑部分)。创建一个助手函数,将querystring参数转换为RouteValueDictionary,并将其提供给寻呼机。也许ASP.NETMVC已经包含了这样的功能?
http://localhost:1155/Search/SearchResults?Distance=20&txtZip=10021&page=2
<%= Html.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount,  new { Distance = Request["Distance"], txtZip = Request["txtZip"] })%>