ASP.NET API MVC+Jquery实现Linq分页显示

//生成一个存储的类
public class pageModel
{
//信息结果集
public List<"显示的结果集"> list { get; set; }
//当前页
public int currentPage { get; set; }
//总记录数
public int totalCount { get; set; }
//总页数
public int totalPage { get; set; }
}

API中实现Linq语句分页

 public pageModel Get(int pageSize = 3, int currentPage = 1)
{
//修正传入的页数<1的情况
    if (currentPage < 1)
    {
        currentPage = 1
    }
    var list="要显示分页数据的结果集"var count = list.Count(); //查询出总记录数

     //查询出总页数
    int page;
    if (count % pageSize == 0)
    {
   	page = count / pageSize;
    }
   else
    {
        page = count / pageSize + 1;
    }

//纠正当前页 > 总页数的情况
    if (currentPage > page)
    {
       currentPage = page;
    }
//使用linq分页查询列表
list = list.Skip((currentPage - 1) * pageSize).Take(pageSize).ToList();

 var m = new pageModel();
 m.list = list; //列表就是分页查询出的列表
 m.totalCount = count;
 m.totalPage = page;
 m.currentPage = currentPage;
 return m;
 }

MVC中生成视图
分页控件表单+Jquery

<!--分页控件-->
<table class="table">
    <tr>
        <td>总共<span id="totalCount"></span>条记录</td>
        <td><span id="currentPage"></span></td>
        <td><span id="totalPage"></span></td>
        <td><a href="javascript:;" onclick="show(1)">首页</a></td>
        <td><a href="javascript:;" onclick="show(currentPage-1)">上一页</a></td>
        <td><a href="javascript:;" onclick="show(currentPage+1)">下一页</a></td>
        <td><a href="javascript:;" onclick="show(totalPage)">尾页</a></td>
    </tr>
</table>

<script>
$(function () {
   show(1);
  });
   var currentPage = 1;
   var totalPage = 1;
  function show(page) {
    var obj = {};
    obj.pageSize = 3;
    obj.currentPage = page;
    $.ajax({
    url: "http://localhost:53967/api/GetPage",
    type: "get",
    data: obj,
    success: function (result) {
        $("#totalCount").html(result.totalCount);
        $("#totalPage").html(result.totalPage);
        $("#currentPage").html(result.currentPage);
        currentPage = result.currentPage;
        totalPage = result.totalPage;
        
        $(result.list).each(function () {
      	 	//拼接字符串
	}
  });
}
</script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值