Замена строки запроса в URL-адресе, сгенерированном pagedlist, на пользовательский URL-адрес
I am using PagedList in a fully functional pager and it is generating the query string for the indexed pages as expected. I wanted to know if there is a way the URL could be customized to eliminate the query string and add another Route parameter instead. The following is my View :- <pre> @model PagedList.Core.IPagedList<ActionAugerMVC.Models.Review> @using PagedList.Core.Mvc; @addTagHelper *, PagedList.Core.Mvc <div id='Paging' style="text-align:center"> Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount <pager class="pager-container" list="@Model" options="@PagedListRenderOptions.TwitterBootstrapPager" asp-action="Index" asp-controller="Review" /> </div>
И вот мое действие контроллера :-
[Route("Reviews/calgary-tech-reviews")] public IActionResult Index(int? page) { int pageSize = 10; int pageIndex = 1; pageIndex = page.HasValue ? Convert.ToInt32(page) : 1; var review = unitOfWork.ReviewRepository.GetAll(); return View(review.OrderByDescending(m=> m.Date).ToPagedList(pageIndex,pageSize)); }
Текущий URL-адрес выглядит следующим образом :-
http://localhost:63613/Reviews/calgary-tech-reviews?page=2
И я хочу, чтобы это выглядело так :-
http://localhost:63613/Reviews/calgary-tech-reviews/page-2/
ОПЕРАЦИОННАЯ
http://localhost:63613/Reviews/page-2/calgary-tech-reviews/
Любая помощь будет оценена по достоинству, так как я все еще новичок в этом деле !
Еще раз спасибо !
Что я уже пробовал:
Я попытался изучить реализацию и документацию PagedList, чтобы увидеть, как я могу переопределить его. Я действительно обнаружил, что все страницы были сгенерированы как теги с добавленной к ним quyerystring, поэтому я пытался найти способ отменить это.