Пагинация в ASP.NET Core MVCC#

Место общения программистов C#
Ответить
Anonymous
 Пагинация в ASP.NET Core MVC

Сообщение Anonymous »

У меня возникла проблема с разбиением на страницы при использовании ASP.NET Core 8. Если в категории имеется несколько записей (< 2500), разбиение на страницы работает нормально. Он показывает нумерацию страниц 1, 2, 3, 4 и т. д.
Когда у меня много строк (> 2500), нумерация страниц не отображается должным образом. Пагинация исчезает с экрана, стиль CSS не выравнивается, а нумерация страниц не начинается с 1. Не имеет значения, показываю ли я 10, 25 или 50 записей на странице (размер страницы в скрипте), та же проблема. происходит.
public async Task Category(int id, int page = 1)
{
var category = await _context.Categories
.Include(c => c.Subcategories)
.ThenInclude(sc => sc.Recipes)
.FirstOrDefaultAsync(c => c.CategoryId == id);

if (category == null)
{
return NotFound();
}

var subcategories = category.Subcategories
.Select(sc => sc.SubcategoryName)
.Distinct()
.ToList();

var recipes = category.Subcategories
.SelectMany(sc => sc.Recipes)
.Skip((page - 1) * PageSize)
.Take(PageSize)
.ToList();

int totalRecipes = category.Subcategories
.SelectMany(sc => sc.Recipes)
.Count();

ViewBag.CategoryID = id;
ViewBag.CategoryName = category.CategoryName;
ViewBag.Subcategories = subcategories;
ViewBag.CurrentPage = page;
ViewBag.TotalPages = (int)Math.Ceiling((double)totalRecipes / PageSize);

return View(recipes);
}




Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»