【发布时间】:2017-10-13 15:35:50
【问题描述】:
我在功能齐全的寻呼机中使用 PagedList,它按预期为索引页面生成查询字符串。
我想知道是否可以自定义 URL 以消除查询字符串并添加另一个 Route 参数。
以下是我的看法:-
@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/
任何帮助将不胜感激,因为我还是新手! 再次感谢 !
【问题讨论】:
标签: c# asp.net-mvc razor url-routing pagedlist