C# PagedList 真分页

Posted hanszimmer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# PagedList 真分页相关的知识,希望对你有一定的参考价值。

一:nuget 下载  PagedList 

二:前端页面

  1.需要的数据

  @model PagedList.IPagedList<DeviceModel>
  @using PagedList.Mvc

  2.使用数据

  @foreach (var item in Model)
  {   

    <tr>

      <td>@item.Name</td>
      <td>@item.MAC</td>

    <tr>

  }

  3.分页的按钮

  @html.PagedListPager(Model, page => Url.Action("DeviceList", new { page }))

三:后台真分页 

public ActionResult DeviceList(int page = 1)
{
  var query = db.Device.OrderBy(x => x.IP).ToList();

  return View(query.ToPagedList(page, 10));    //10为所要分页的条数
}

 

PS:若二中3的分页按钮不美观,可以新建PagedList.css文件,通过<link href="~/CSS/PagedList.css" rel="stylesheet" />来使用,内容如下

.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 20px 0;
  border-radius: 4px;
}

.pagination > li {
  display: inline;
}

.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  margin-left: -1px;
  line-height: 1.428571429;
  text-decoration: none;
  background-color: #ffffff;
  border: 1px solid #dddddd;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}

.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  background-color: #eeeeee;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 2;
  color: #ffffff;
  cursor: default;
  background-color: #428bca;
  border-color: #428bca;
}

.pagination > .disabled > span,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #999999;
  cursor: not-allowed;
  background-color: #ffffff;
  border-color: #dddddd;
}

.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 18px;
}

.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 6px;
  border-top-left-radius: 6px;
}

.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
}

.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}

.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}

.pager {
  padding-left: 0;
  margin: 20px 0;
  text-align: center;
  list-style: none;
}

.pager:before,
.pager:after {
  display: table;
  content: " ";
}

.pager:after {
  clear: both;
}

.pager:before,
.pager:after {
  display: table;
  content: " ";
}

.pager:after {
  clear: both;
}

.pager li {
  display: inline;
}

.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 15px;
}

.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}

.pager .next > a,
.pager .next > span {
  float: right;
}

.pager .previous > a,
.pager .previous > span {
  float: left;
}

.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #999999;
  cursor: not-allowed;
  background-color: #ffffff;
}

 

以上是关于C# PagedList 真分页的主要内容,如果未能解决你的问题,请参考以下文章

PagedList 使用 LINQ Skip and Take,但使用 Count of results 显示分页

使用 Google 的分页库更新 PagedList 中的单个项目

csharp 使用X.PagedList.MVC webconfig命名空间进行分页

MVC+Bootstrap+Drapper使用PagedList.Mvc支持多查询条件分页

无法过滤 PagedList?

Java代码实现真分页