本文转自:http://do-web.com/jpaging/usage

How does it work?

1. In order to implement the plugin, you need to insert inside the head tag of your document the last jQuery file, jquery.jpaging.0.1.min.js and jpaging.css.

  1. <scripttype="text/javascript"language="javascript"src="js/jquery-1.5.2.min.js"></script>
  2. <scripttype="text/javascript"language="javascript"src="js/jquery.jpaging.0.1.min.js"></script>
  3. <linkhref="css/jpaging.css"rel="stylesheet"type="text/css"/>

2. Next you need to insert your html markup into the body tag.

  1. <divid="paging"></div>

3. Create your 'get' function that will select items from database.

  1. function get_data(start_index, end_index){
  2. $.ajax({
  3. type:"POST",
  4. url:'serverpage.aspx',
  5. data:{start_index: start_index,
  6. end_index: end_index},
  7. success:function(data)
  8. {
  9. //create your html
  10. }
  11. });
  12. }

4. Get the total number of items from database and call jPaging plugin.

  1. $.ajax({type:"POST",
  2. url:'serverpage.aspx',
  3. success:function(total)
  4. {
  5. $("#paging").jpaging({
  6. all_items_num: total,
  7. callback: get_data
  8. });
  9. }
  10. });

Example

HTML murkup:

  1. <divid="paging">
  2. <imgsrc=preloader.gif" border="0" alt="" title=""/>
  3. </div>
  4. <divid="demo_tbl">
  5. <imgsrc=preloader.gif" border="0" alt="" title=""/>
  6. </div>

JavaScript:

  1. $("document").ready(function()
  2. {
  3. var items_on_page =5;
  4. var pages_step =5;
  5. function get_data(start_index, end_index){
  6. $.ajax({
  7. type:"POST",
  8. url:"plugins.ashx",
  9. data:{start_index: start_index,
  10. end_index: end_index,
  11. type:"get"},
  12. success:function(html)
  13. {
  14. $("#demo_tbl").html(html);
  15. }
  16. });
  17. }
  18. get_data(1, items_on_page);
  19. $.ajax({
  20. type:"POST",
  21. url:"plugins.ashx",
  22. data:{type:"total"},
  23. success:function(total)
  24. {
  25. $("#paging").jpaging({
  26. all_items_num: total,
  27. callback: get_data,
  28. items_on_page: items_on_page,
  29. pages_step: pages_step
  30. });
  31. }
  32. });
  33. });

Handler class example:

  1. publicclassPluginsHandler:IHttpHandler{
  2. privateDataBase db;
  3. private string type;
  4. publicvoidProcessRequest(HttpContext context)
  5. {
  6. context.Response.ContentType="text/plain";
  7. this.db =newDataBase();
  8. try{
  9. this.type = context.Request.Form["type"];
  10. if(this.type !=""){
  11. switch(this.type){
  12. case"get":{
  13. context.Response.Write(this.Get(context));
  14. break;
  15. }
  16. case"total":{
  17. context.Response.Write(this.db.CountPlugins());
  18. break;
  19. }
  20. }
  21. }
  22. }
  23. catch(Exception ex){
  24. context.Response.Write(ex.Message.ToString()+" "+ ex.StackTrace);
  25. }
  26. }
  27. publicboolIsReusable
  28. {
  29. get {returntrue;}
  30. }
  31. public string Get(HttpContext context){
  32. StringBuilder html =newStringBuilder();
  33. int start_index_int, end_index_int;
  34. bool start_index_num, end_index_num;
  35. string start_index = context.Request.Form["start_index"];
  36. string end_index = context.Request.Form["end_index"];
  37. int count =0;
  38. start_index_num =Int32.TryParse(start_index, out start_index_int);
  39. end_index_num =Int32.TryParse(end_index, out end_index_int);
  40. if(start_index_num && end_index_num){
  41. List plugins =this.db.GetPlugins(start_index_int, end_index_int);
  42. html.AppendLine("<table border='1' cellspacing='0' cellpadding='0' align='center'>");
  43. html.AppendLine("<th width='33%'>Plugin title</th>");
  44. html.AppendLine("<th width='33%'>Description</th>");
  45. html.AppendLine("<th width='33%'>Website</th>");
  46. foreach(Plugin plugin in plugins){
  47. html.AppendLine(this.GetRow(plugin, count));
  48. count++;
  49. }
  50. html.AppendLine("</table>");
  51. }
  52. return html.ToString();
  53. }
  54. public string GetRow(Plugin plugin,int count){
  55. StringBuilder html =newStringBuilder();
  56. string class_name ="odd";
  57. if(count %2==0){
  58. class_name ="even";
  59. }
  60. html.AppendLine("<tr class='"+ class_name +"'>");
  61. html.AppendLine("<td>"+ plugin.Title+"</td>");
  62. html.AppendLine("<td>"+ plugin.Description+"</td>");
  63. html.AppendLine("<td>"+ plugin.Website+"</td>");
  64. html.AppendLine("</tr>");
  65. return html.ToString();
  66. }
  67. }

[转]jQuery AJAX pagination plugin with ASP.NET Server Side的更多相关文章

  1. jQuery AJAX and HttpHandlers in ASP.NET

    https://www.codeproject.com/Articles/170882/jQuery-AJAX-and-HttpHandlers-in-ASP-NET Introduction In ...

  2. jQuery Ajax传递数组到asp.net web api参数为空

    前端: var files = []; files.push({ FileName: "1.jgp", Extension: ".jgp", FileType: ...

  3. jQuery AJAX Call for posting data to ASP.Net page ( not Get but POST)

    the following jQuery AJAX call to an ASP.Net page. $.ajax({ async: true, type: "POST", url ...

  4. ASP.NET MVC WebGrid – Performing true AJAX pagination and sorting 【转】

    ASP.NET MVC WebGrid – Performing true AJAX pagination and sorting FEBRUARY 27, 2012 14 COMMENTS WebG ...

  5. 使用jQuery Pagination Plugin实现分页效果

    最近使用分页这个基础效果较为频繁,而项目前端页面使用的是纯静态的HTML,自己之前写的JSP中的分页就用不成了:项目中也引入了Bootstrap,本来想使用Bootstrap中的分页样式,但发现其样式 ...

  6. ASP.NET使用jQuery AJAX实现MD5加密实例

    一个asp.net ajax例子,使用jquery,实现md5加密.在.NET 4.0,Visual Studio 2010上成功运行. 效果体验:http://tool.keleyi.com/t/m ...

  7. [转]JQuery Ajax 在asp.net中使用总结

    本文转自:http://www.cnblogs.com/acles/articles/2385648.html 自从有了JQuery,Ajax的使用变的越来越方便了,但是使用中还是会或多或少的出现一些 ...

  8. jQuery Ajax 方法调用 Asp.Net WebService 以及调用aspx.cs中方法的详细例子

    一.jQuery Ajax 方法调用 Asp.Net WebService (引自Terry Feng) Html文件 <!DOCTYPE html PUBLIC "-//W3C//D ...

  9. ASP.NET jquery ajax传递参数

    第一种:GET传递 前台 ajax   GET 传递 :即在请求的地址后面加上参数,URL地址长度有显示,安全性低 后台接收:Request.QueryString[“参数名字”]! 例如: func ...

随机推荐

  1. 回溯法和DFS leetcode Combination Sum

    代码: 个人浅薄的认为DFS就是回溯法中的一种,一般想到用DFS我们脑中一般都有一颗解法树,然后去按照深度优先搜索去寻找解.而分支界限法则不算是回溯,无论其是采用队列形式的还是优先队列形式的分支界限法 ...

  2. Head First HTML与CSS(第2版) 中文pdf扫描版​

    是不是已经厌倦了那些深奥的HTML书?你可能在抱怨,只有成为专家之后才能读懂那些书.那么,找一本新修订的<Head First HTML与CSS(第2版)>吧,来真正学习HTML.你可能希 ...

  3. Oracle中date转为timstam可以函数to_timestamp的方式来转化

    data 转为timstam可以函数to_timestamp的方式来转化 Select to_timestamp('2018-02-27 09:48:28','yyyy-mm-dd hh24:mi:s ...

  4. 机器学习基石笔记:11 Linear Models for Classification、LC vs LinReg vs LogReg、OVA、OVO

    原文地址:https://www.jianshu.com/p/6f86290e70f9 一.二元分类的线性模型 线性回归后的参数值常用于PLA/PA/Logistic Regression的参数初始化 ...

  5. POJ - 3468A Simple Problem with Integers (线段树区间更新,区间查询和)

    You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of op ...

  6. js计算每个月的总天数

    js中相关日期的计算 var year = new Date().getFullYear(),//计算当前年份 month = new Date().getMonth()+1,//计算当前月份 dat ...

  7. springboot mybatis自定义枚举enum转换

    原文链接:https://blog.csdn.net/u014527058/article/details/62883573 一.概述 在利用Spring进行Web后台开发时,经常会遇到枚举类型的绑定 ...

  8. 云搜索服务在APP搜索场景的应用

    搜索无处不在,尤其是在移动互联的今天.无论是社交,电商,还是视频等APP中,搜索都已经在其中扮演了重要的角色.作为信息的入口,搜索能帮用户从海量信息中找到想要的信息.在APP搜索的典型场景如下: ●  ...

  9. JavaScript小技巧随笔

    1. 在用||做条件判断时,如果情况较多,我们可以考虑是否能够用Array.includes()方法代替 var conditionArray = [ test1, test2, test3 ]; i ...

  10. 「洛谷5017」「NOIP2018」摆渡车【DP,经典好题】

    前言 在考场被这个题搞自闭了,那个时候自己是真的太菜了.qwq 现在水平稍微高了一点,就过来切一下这一道\(DP\)经典好题. 附加一个题目链接:[洛谷] 正文 虽然题目非常的简短,但是解法有很多. ...