本文转自: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. 2015年第六届蓝桥杯省赛试题(JavaA组)

    1.结果填空 (满分3分)2.结果填空 (满分5分)3.结果填空 (满分9分)4.代码填空 (满分11分)5.代码填空 (满分13分)6.结果填空 (满分17分)7.结果填空 (满分21分)8.程序设 ...

  2. 理解JavaScript普通函数以及箭头函数里使用的this

    this 普通函数的this 普通函数的this是由动态作用域决定,它总指向于它的直接调用者.具体可以分为以下四项: this总是指向它的直接调用者, 例如 obj.func() ,那么func()里 ...

  3. .NET 一般处理程序使用Session

    .ashx中引用 session必须 using System.Web.SessionState ,继承IReadOnlySessionState/IRequiresSessionState IRea ...

  4. Python2闭包问题

    Python2 中的闭包比较怪异,和javascript中的闭包不大一样,这里说明一下. 不少内容引自http://www.cnblogs.com/vamei/archive/2012/12/15/2 ...

  5. NMS---非极大值抑制

    在物体检测中,NMS(Non-maximum suppression)应用十分广泛,其目的是为了消除多余的框,找到最佳的物体检测的位置.在RCNN系列算法中,会从一张图片中找出很多个候选框(可能包含物 ...

  6. ubuntu - 14.10,安装uget和aria2(下载工具)

    Windows下的下载工具--迅雷,之所以下载速度快,乃是它能搜索资源.为己所用,而不是仅仅从原始地址这单一资源处下载. Ubuntu下也有类似的工具,那就是aira2. aira2是一个命令行下载工 ...

  7. Pandas——读取csv,txt文件

    """ 读取csv文件 该文本中的分割符既有空格又有制表符(‘/t’),sep参数用‘/s+’,可以匹配任何空格. """ import p ...

  8. 软件测试就业必备知识点&自学软件测试-Dotest-2019

    软件测试就业必备知识点&自学测试&教学大纲-Dotest-2019

  9. 主要介绍JavaEE中Maven Web 项目的结构及其它几个小问题

    先说下本篇随笔的目录. 1.介绍windows中环境变量Path与ClassPath的区别. 2.可能导致命令行运行javac编译成功,但 java命令 + 所要执行的类的类名 无效的原因. 3.介绍 ...

  10. FFT字符串匹配

    本文半原创 参考资料:其实就是照抄的什么参考啊 我们知道KMP可以用来在线性复杂度内进行制胡窜匹配 今天教您一种新方法:用FFT进行字符串匹配 您可能觉得这很玄学,FFT不是做多项式卷积的吗,怎么还可 ...