pagination 分页控件的使用
感觉这个控件还不错 因为使用简单 直接代码
html部分
1 <link href="~/js/pagination/pagination.css" rel="stylesheet" /> 2 <script src="~/js/jquery/jquery-1.11.1.min.js"></script> 3 <script src="~/js/pagination/jquery.pagination.js"></script> 4 <input type="text" placeholder="请输入搜索条件" id="name" /><input type="button" value="搜索" id="btnSouSuo" /> 5 <table> 6 <thead> 7 <tr><th>编号</th><th>姓名</th></tr> 8 </thead> 9 <tbody></tbody> 10 </table> 11 <div class="pagination"></div>
js部分
1 $(function () { 2 var pageSize = 3; 3 var pain = function () { 4 $.post('/Home/PageCount', { name: $("#name").val() }, function (data) { 5 $(".Pagination").pagination(data, { 6 num_edge_entries: 3, //两侧显示的首尾分页的条目数 7 num_display_entries: 4, //连续分页主体部分显示的分页条目数 8 items_per_page: pageSize, //每页显示的条数 9 prev_text: "上一页", //默认Prev 10 next_text: "下一页", //Next 11 callback: pageselectCallback, 12 }); 13 14 pageselectCallback(0); 15 }); 16 }; 17 18 var pageselectCallback = function (index) { 19 $.post('/Home/PageData', 20 { 21 name: $("#name").val(), 22 index: index, 23 size: pageSize 24 }, function (data) { 25 var html = ""; 26 $.each(data, function (i) { 27 html += "<tr><td>" + data[i].ID + "</td><td>" + 28 data[i].Name + "</td></tr>"; 29 }); 30 $("table tbody").html(""); 31 $("table tbody").append(html); 32 }); 33 }; 34 35 $("#btnSouSuo").click(function () { 36 pain(); 37 }); 38 pain(); 39 });
C# 代码 由于没有链接数据库 就用list<T> 代替了
1 /// <summary> 2 /// 得到总条数 3 /// </summary> 4 /// <param name="name">页面参数</param> 5 /// <returns></returns> 6 public JsonResult PageCount(string name) 7 { 8 var page = new List<PageDataR>(); 9 for (int i = 0; i < 30; i++) 10 { 11 var pr = new PageDataR() 12 { 13 ID = i + 1, 14 Name = "name" + i 15 }; 16 page.Add(pr); 17 } 18 if (!string.IsNullOrWhiteSpace(name)) 19 { 20 var pageSelect = new List<PageDataR>(); 21 foreach (var item in page) 22 { 23 if (item.Name.Contains(name)) 24 { 25 pageSelect.Add(item); 26 } 27 } 28 return Json(pageSelect.Count, JsonRequestBehavior.AllowGet); 29 } 30 return Json(page.Count, JsonRequestBehavior.AllowGet); 31 } 32 33 /// <summary> 34 /// 得到数据 35 /// </summary> 36 /// <param name="name">搜索条件</param> 37 /// <param name="index">页面索引</param> 38 /// <param name="size">页面显示数据条数</param> 39 /// <returns></returns> 40 public JsonResult PageData(string name, int index, int size) 41 { 42 var page = new List<PageDataR>(); 43 for (int i = 0; i < 30; i++) 44 { 45 var pr = new PageDataR() 46 { 47 ID = i + 1, 48 Name = "name" + i 49 }; 50 page.Add(pr); 51 } 52 if (!string.IsNullOrWhiteSpace(name)) 53 { 54 var pageSelect = new List<PageDataR>(); 55 foreach (var item in page) 56 { 57 if (item.Name.Contains(name)) 58 { 59 pageSelect.Add(item); 60 } 61 } 62 return Json(pageSelect.Skip(index * size).Take(size), JsonRequestBehavior.AllowGet); 63 } 64 return Json(page.Skip(index * size).Take(size), JsonRequestBehavior.AllowGet); 65 }