如何使用Html.PagedListPager保留URL的参数

时间:2018-02-10 20:31:44

标签: asp.net .net asp.net-mvc razor

我是新的Html.PagedListPager并尝试在我的项目中使用它。这似乎非常有用,但我有一个问题需要解决。

当我使用下面的代码时,一切都按预期工作。但是,当我使用以下代码单击其中一个页码时,它会清除所有URL参数。

@Html.PagedListPager(Model, Page=> Url.Action("Products", new { Page,  sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }), PagedListRenderOptions.ClassicPlusFirstAndLast)

当我点击其中一个页面时,我会丢失网址

中的类别和品牌值
http://localhost:53307/Home/Products?Page=2&Category=Steel&Brand=BMW

此网址已更改为

http://localhost:53307/Home/Products?Page=2

如何保留品牌和类别值?提前致谢

1 个答案:

答案 0 :(得分:1)

@Html.PagedListPager(Model, page => Url.Action("Products",
                            new { page, sortOrder = ViewBag.CurrentSort,  Category = ViewBag.Category, Brand = ViewBag.Brand }))

在控制器动作中:

 public ActionResult Products(string SortOrder, string Category,sting Brand, int? Page)
{
            ViewBag.CurrentSort = SortOrder;
            ViewBag.Category= Category;
            ViewBag.Brand= Brand;
 }