EnableUnobtrusiveAjaxReplacing
工作正常,但每次点击下一页时,都不会保留搜索或过滤结果。
我如何实现这一目标?
答案 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"] }) )