最近有个小项目,用.net core开发练练手,碰到的第一个问题就是分页控件的问题,自己写太费时间,上网查了下,发现有人已经封装好了的,就拿过来用了,分页控件github:https://github.com/sgjsakura/AspNetCore/blob/master/PagerDemo.md
使用方法也很简单
后台代码如下:期中list是数据返回的数据,pagesize是每页的数量,page是当前页数,totalcount-总条数,pagenum-总页数
var model= new PagedList<List<user>,user>(list, list.ToList(), pagesize, page, totalcount, pagenum);
前台:
<ul class="pagination"> <pager setting-link-attr-data-ajax="true" setting-link-attr-data-ajax-update="#list" generation-mode="ListOnly" setting-link-attr-data-ajax-searchForm="#SearchForm" /> <li>当前:@Model.PageIndex 页 总共:@Model.TotalPage 页</li> </ul>
setting-link-attr后面跟的参数都是jquery.unobtrusive-ajax.js的操作参数,
data-ajax-是否是异步ajax分页,
data-ajax-update-需要更新的html标签id,
data-ajax-searchForm-分页时需要传递的查询表单(PS:该属性是发现了分页没有页面已有的查询条件传递过去,修改unobtrusive源码手动添加的,)
$(document).on("click", "a[data-ajax=true]", function (evt) { evt.preventDefault(); // //下面为修改的源码部分,用来处理页面查询表单参数 var currentform = $(this.getAttribute("data-ajax-searchForm"))// var cdata = []; if (currentform != undefined) { cdata = $(currentform).serializeArray(); } // //end asyncRequest(this, { url: this.href, type: "GET", data: cdata }); });