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         }

 

posted @ 2015-04-19 21:36  RJXS  阅读(488)  评论(0编辑  收藏  举报