最近有個小項目,用.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 }); });