@ Html.PagedListPager не отправляет страницу в строке запроса - PullRequest
0 голосов
/ 05 февраля 2019

Я работаю над проектом ASP.NET Core, и после того, как я обновил проект до .NET Core 2.2, возникла проблема с разбиением на страницы.Я использую библиотеку X.PagedList.На мой взгляд, у меня правильное количество страниц, но проблема в том, что когда я пытаюсь получить доступ ко второй странице, например, страница не отправляется в строке запроса.Это мой код в представлении:

 @Html.PagedListPager((IPagedList)Model.Products,
           page => Url.Action("ProductsByCategory",
           new { Model.CategoryId, page, Model.SubCategoryId }),
           new PagedListRenderOptions()
           {
             UlElementClasses = new List<string> { "pagination"},
             LiElementClasses = new List<string> { "page-item", "page-link"}
           })

Это мой код в сервисе:

 public AllProductsViewModel GetProductsByCategory(Guid categoryId, int? page, Guid? subCategoryId = null)
    {
        var products = dbContext.Products
            .Where(p => p.CategoryId == categoryId && p.IsAvailable)
            .To<ProductViewModel>()
            .ToList();

        if (subCategoryId != null)
        {
            products = products.Where(p => p.SubCategoryId == subCategoryId).ToList();
        }

        var nextPage = page ?? 1;

        var allProducts = new AllProductsViewModel()
        {
            CategoryId = categoryId,
            SubCategoryId = subCategoryId,
            Products = products.ToPagedList(nextPage, 9)
        };

        return allProducts;
    }

1 Ответ

0 голосов
/ 06 февраля 2019

Это кажется ошибкой при использовании X.PagedList в .Net Core 2.2, пожалуйста, проверьте связанные темы на github:

https://github.com/dncuug/X.PagedList/issues/133

https://github.com/dncuug/X.PagedList/issues/131

Поэтому попробуйте использовать pageNumber вместо page в качестве обходного пути.

...