当前第2页 返回上一页
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | public ActionResult PagedList( int ? page)
{
var pageSize = 5;
var pageNumber = page ?? 1;
var filter = new GetTasksInput
{
SkipCount = (pageNumber - 1) * pageSize,
MaxResultCount = pageSize
};
var result = _taskAppService.GetPagedTasks(filter);
var onePageOfTasks = new StaticPagedList<TaskDto>(result.Items, pageNumber, pageSize, result.TotalCount);
ViewBag.OnePageOfTasks = onePageOfTasks;
return View();
}
|
从代码中可以看到我们构造完X.PagedList提供的分页结果后放入了ViewBag中,供视图使用。
3、View中添加分页控件
PagedList视图的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | @ using X.PagedList.Mvc;
@ using Abp.Web.Mvc.Extensions
@ using X.PagedList;
<link href= "~/Content/PagedList.css" rel= "external nofollow" rel= "stylesheet" />
<ul class = "list-group" >
@ foreach ( var task in ViewBag.OnePageOfTasks)
{
<li class = "list-group-item" >
<p class = "btn-group pull-right" >
<button type= "button" class = "btn btn-info" >Edit</button>
<button type= "button" class = "btn btn-success" >Delete</button>
</p>
<p class = "media" >
<a class = "media-left" href= "#" rel= "external nofollow" >
@*<i class = "fa @Model.GetTaskLable(task) fa-3x" ></i>*@
</a>
<p class = "media-body" >
<h4 class = "media-heading" >@task.Title</h4>
<span class = "text-muted" >@task.CreationTime.ToString( "yyyy-MM-dd HH:mm:ss" )</span>
</p>
</p>
</li>
}
</ul>
@Html.PagedListPager((IPagedList)ViewBag.OnePageOfTasks, page => Url.Action( "PagedList" , new { page }))
|
其中最后一句代码是用来生成分页控件。
最终效果如图:
ABP入门系列之分页功能的实现方法介绍" width="1002" height="435" title="ABP入门系列之分页功能的实现方法介绍">总结
总结
本节主要讲解了如何使用ABP进行后台分页,并顺带讲解了ABP后台分页逻辑的实现方式。同时也演示了如何使用X.PagedList进行前端分页。
以上就是ABP入门系列之分页功能的实现方法介绍的详细内容!
返回前面的内容
相关阅读 >>
abp入门系列之分页功能的实现方法介绍
更多相关阅读请进入《abp分页》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » ABP入门系列之分页功能的实现方法介绍