crystoline / netcorepaginator
此包的最新版本(v1.0.1)没有提供许可证信息。
Asp.NetCoreMvc 分页库
v1.0.1
2018-10-04 15:32 UTC
This package is auto-updated.
Last update: 2024-09-19 19:16:28 UTC
README
Asp.NetCoreMvc 分页库
##安装 composer require crystoline/netcorepaginator
或 https://github.com/crystoline/netcorepaginator.git
##使用/示例
在控制器中
public class InvoiceController : BusinessBase
{
public IPaginate<MyModel> MyModelPaginateService { get; }
private readonly IUrlHelper _urlHelper;
public InvoiceController(ApplicationDbContext context, IUrlHelper urlHelper, IPaginate<MyModel> myModelPaginateService) :
{
this.MyModelPaginateService = myModelPaginateService;
this._urlHelper = urlHelper;
}
public IActionResult All([FromRoute ]Guid Id, [FromQuery] PagingParams pagingParams)
{
IQueryable<MyModel> data = _context.MyModels.Where(i => i.Id == Id);
var pagedList = new PagedList<MyModel>(data, pagingParams);
var pages = new PaginateResponse<MyModel>(pagedList, "All", _urlHelper);
return Ok(pages);
}
}
响应
{
"paging": {
"totalItems": Int,
"pageNumber": Int,
"pageSize": Int,
"totalPages": Int
},
"links": [
{
"pageNumber": Int,
"href": "urlpath?PageNumber=3&PageSize=1",
"rel": "previous",
"method": "GET"
},
{
"pageNumber": Int,
"href": "urlpath?PageNumber=3&PageSize=2",
"rel": "self",
"method": "GET"
},
{
"pageNumber": Int,
"href": "urlpath?PageNumber=3&PageSize=3",
"rel": "next",
"method": "GET"
},
],
"data": {
"totalItems": Int,
"pageNumber": Int,
"pageSize": Int,
"list": [], //List Records here
"totalPages": Int,
"hasPreviousPage": bool,
"hasNextPage": bool,
"nextPageNumber": Int,
"previousPageNumber": Int,
"from": Int,
"to": Int
}
}