Asp.net mvc MVC页面列表启用不引人注目的AJAX替换保留搜索结果

Asp.net mvc MVC页面列表启用不引人注目的AJAX替换保留搜索结果,asp.net-mvc,pagedlist,Asp.net Mvc,Pagedlist,EnableUnobtrusiveAjaxReplacing工作正常,但每次单击下一页时,它都不会保留搜索或筛选结果 如何实现这一点?不确定什么是EnableUnobtrusiveAJAX替换。据我所知,这不是页面列表的固有部分。也许您正在使用一个分叉版本或一些附加的Nuget包来添加此功能 但是,这可能并不重要,因为无论您使用的是AJAX还是标准页面链接,这里的问题都可能是相同的。您必须包括从查询字符串到要在实际页面链接中持久化的所有内容。否则,URL只包含页码,其他查询字符串参数将被删除 中

EnableUnobtrusiveAjaxReplacing工作正常,但每次单击下一页时,它都不会保留搜索或筛选结果

如何实现这一点?

不确定什么是EnableUnobtrusiveAJAX替换。据我所知,这不是页面列表的固有部分。也许您正在使用一个分叉版本或一些附加的Nuget包来添加此功能

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

中有一节介绍如何创建自定义页面链接:

要将foo=bar添加到每个链接的查询字符串中,可以将这些值传递到Url的RouteDictionary参数中。操作:

@Html.PagedListPager myList,page=>Url.ActionIndex,新建{page=page,foo=bar}

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

您只需在其中添加每个可能的querystring参数,其中foo位于同一代码中:

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