MVC PagedList EnableUnobtrusiveAjaxReplacing保留搜索结果

时间:2015-01-30 16:32:21

标签: asp.net-mvc pagedlist

EnableUnobtrusiveAjaxReplacing工作正常,但每次点击下一页时,都不会保留搜索或过滤结果。

我如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

不确定EnableUnobtrusiveAjaxReplacing是什么。据我所知,这不是PagedList的原生部分。也许您正在使用分叉版本或一些额外的Nuget软件包来添加此功能?

然而,它可能并不重要,因为无论您使用的是AJAX还是标准页面链接,这里的问题都可能相同。您必须包含要在实际页面链接中保留的查询字符串中的所有内容。否则,URL仅包含页码,而您的其他查询字符串参数将被删除。

docs有一个关于创建自定义页面链接的部分:

  

要将“foo = bar”添加到每个链接的查询字符串,您可以将值传递给Url.Action的RouteDictionary参数:

     

@ Html.PagedListPager(myList,page => Url.Action(“Index”,new {page = page,foo =“bar”}))

     

请注意,Url.Action是Asp.Net MVC框架提供的方法 - 而不是PagedList库。

您只需在foo位于同一代码中的地方添加每个可能的查询字符串参数:

@Html.PagedListPager( myList, page => Url.Action("Index", new { page = page, search = Request["search"], filter = Request["filer"] }) )