Pagination
PaginationHelper bygger en PaginationViewModel med links, current page, next/previous og ellipsis-flags.
Brug helperen direkte i produktion. <ec-pagination> findes stadig, men er markeret [Obsolete("Not ready for production")] i koden.
Find nuværende side
Sektion kaldt “Find nuværende side”var currentPage = PaginationHelper.GetCurrentPageFromQueryString( Context.Request, queryStringKey: "page", totalPages: totalPages);Hvis query string mangler, returneres 1. Værdien bliver aldrig mindre end 1 eller større end totalPages.
Beregn sider og resultater
Sektion kaldt “Beregn sider og resultater”var totalPages = PaginationHelper.GetTotalPages(totalResults, resultsPerPage);var pageItems = results.GetPage(currentPage, resultsPerPage);GetTotalPages returnerer 0, hvis totalResults eller resultsPerPage er 0.
Byg view model
Sektion kaldt “Byg view model”var model = PaginationHelper.GetModel( Context.Request, totalPages, currentPage, queryStringKey: "page", maxLinks: 6, useEllipsis: true);maxLinks har standard 6. queryStringKey har standard page.
Render selv
Sektion kaldt “Render selv”@model Ecreo.Essentials.Frontend.Pagination.PaginationViewModel
<nav aria-label="Pagination"> @if (Model.PreviousPageLink is not null) { <a href="@Model.PreviousPageLink">Forrige</a> }
@foreach (var link in Model.Links) { <a href="@link.Value" aria-current="@(Model.CurrentPage == link.Key ? "page" : null)"> @link.Key </a> }
@if (Model.NextPageLink is not null) { <a href="@Model.NextPageLink">Næste</a> }</nav>Tag helper
Sektion kaldt “Tag helper”<ec-pagination> kan stadig bruges til ældre løsninger, men den anbefales ikke til nye implementeringer.
<ec-pagination total-pages="10" current-page="3" use-ellipsis="true" max-links="6"></ec-pagination>