1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageTest.aspx.cs" Inherits="renmai_PageTest" %>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head runat="server">
  7. <title>Jquery+Ajax分页测试</title>
  8. <script src="../js/jquery-1.11.1.min.js" type="text/javascript"></script>
  9. <script type="text/javascript">
  10. $(function () {
  11. InitPage(1, 10);
  12. $(".nextPage").click(function () {
  13. InitPage($("#nextpage").val(), 10);
  14. });
  15. });
  16. //请求数据
  17. function InitPage(pageIndex, pageSize) {
  18. $.ajax({
  19. type: "POST",
  20. dataType: "json",
  21. url: '/Handler/Handler1.ashx',
  22. data: "type=show&random=" + Math.random() + "&pageIndex=" + pageIndex + "&pageSize=" + pageSize,
  23. error: function () { alert('error data'); }, //错误执行方法
  24. success: function (data) {
  25. var json = data; //数组
  26. var recordCount = json.table2[0].recordcount;
  27. var pageCount = json.table2[0].pagecount;
  28. var html = "";
  29. $.each(json.table1, function (index, item) {
  30. //循环获取数据
  31. var id = item.Id;
  32. var name = item.Name;
  33. var sex = item.Sex;
  34. html += "<tr><td>" + id + "</td><td>" + name + "</td><td>" + sex + "</td></tr>";
  35. });
  36. $("#Result").append(html);
  37. if (pageIndex >= parseInt(pageCount)) {
  38. $(".nextPage").hide();
  39. }
  40. else {
  41. $("#nextpage").val(parseInt(pageIndex) + 1)
  42. }
  43. }
  44. });
  45. };
  46. </script>
  47. </head>
  48. <body>
  49. <form id="form1" runat="server">
  50. <div>
  51. <input type="hidden" id="nextpage" value="1" />
  52. <table id="Result" cellspacing="0" cellpadding="0">
  53. <tr>
  54. <th style="width:50px;">
  55. 编号
  56. </th>
  57. <th style="width:100px;">
  58. 姓名
  59. </th>
  60. <th style="width:50px;">
  61. 性别
  62. </th>
  63. </tr>
  64. </table>
  65. <a href="javascript:void(0)" class="nextPage">下一页</a>
  66. </div>
  67. </form>
  68. </body>
  69. </html>
  1. <%@ WebHandler Language="C#" Class="Handler1" %>
  2.  
  3. using System;
  4. using System.Web;
  5. using System.Data;
  6. using Newtonsoft.Json;
  7.  
  8. public class Handler1 : IHttpHandler {
  9. /* Handler/Handler1.ashx */
  10. protected static int RecordCount = 0;
  11. protected static DataTable dt = CreateDT();
  12. public void ProcessRequest (HttpContext context) {
  13. string type=context.Request["type"];
  14. int pageIndex = MSCL.ConvertHelper.ObjectToInt(context.Request["pageIndex"]);
  15. int pageSize = MSCL.ConvertHelper.ObjectToInt(context.Request["pageSize"]);
  16. switch (type)
  17. {
  18. case "show":
  19. #region 分页配置
  20. if (pageIndex == 0) { pageIndex = 1; }
  21. #endregion
  22.  
  23. DataSet ds = new DataSet();
  24. DataTable dtData = GetPagedTable(dt, pageIndex, pageSize);
  25. dtData.TableName = "table1";
  26.  
  27. DataTable dtCount = new DataTable();
  28. dtCount.TableName = "table2";
  29. dtCount.Columns.Add("recordcount");
  30. dtCount.Rows.Add(dt.Rows.Count);
  31.  
  32. ds.Tables.Add(dtData);
  33. ds.Tables.Add(dtCount);
  34.  
  35. string json = JsonConvert.SerializeObject(ds, Formatting.Indented);
  36. context.Response.Write(json);
  37. break;
  38. default :
  39. break;
  40. }
  41. context.Response.End();
  42. }
  43.  
  44. #region 模拟数据
  45. private static DataTable CreateDT()
  46. {
  47. DataTable dt = new DataTable();
  48. dt.Columns.Add(new DataColumn("Id", typeof(int)) { DefaultValue = 0 });
  49. dt.Columns.Add(new DataColumn("Name", typeof(string)) { DefaultValue = "1" });
  50. dt.Columns.Add(new DataColumn("Sex", typeof(string)) { DefaultValue = "男" });
  51. for (int i = 1; i <= 58; i++)
  52. {
  53. dt.Rows.Add(i, "张三" + i.ToString().PadLeft(4, '0'));
  54. }
  55. RecordCount = dt.Rows.Count;
  56. return dt;
  57. }
  58. #endregion
  59.  
  60. /// <summary>
  61. /// 对DataTable进行分页,起始页为1
  62. /// </summary>
  63. /// <param name="dt"></param>
  64. /// <param name="PageIndex"></param>
  65. /// <param name="PageSize"></param>
  66. /// <returns></returns>
  67. public static DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)
  68. {
  69. if (PageIndex == 0)
  70. return dt;
  71. DataTable newdt = dt.Copy();
  72. newdt.Clear();
  73. int rowbegin = (PageIndex - 1) * PageSize;
  74. int rowend = PageIndex * PageSize;
  75. if (rowbegin >= dt.Rows.Count)
  76. return newdt;
  77. if (rowend > dt.Rows.Count)
  78. rowend = dt.Rows.Count;
  79. for (int i = rowbegin; i <= rowend - 1; i++)
  80. {
  81. DataRow newdr = newdt.NewRow();
  82. DataRow dr = dt.Rows[i];
  83. foreach (DataColumn column in dt.Columns)
  84. {
  85. newdr[column.ColumnName] = dr[column.ColumnName];
  86. }
  87. newdt.Rows.Add(newdr);
  88. }
  89. return newdt;
  90. }
  91.  
  92. /// <summary>
  93. /// 获取总页数
  94. /// </summary>
  95. /// <param name="sumCount">结果集数量</param>
  96. /// <param name="pageSize">页面数量</param>
  97. /// <returns></returns>
  98. public static int getPageCount(int sumCount, int pageSize)
  99. {
  100. int page = sumCount / pageSize;
  101. if (sumCount % pageSize > 0)
  102. {
  103. page = page + 1;
  104. }
  105. return page;
  106. }
  107.  
  108. public bool IsReusable {
  109. get {
  110. return false;
  111. }
  112. }
  113.  
  114. }

asp.net中利用Jquery+Ajax+Json实现无刷新分页(二)的更多相关文章

  1. jquery ajax php+mysql 无刷新分页 详细实例

    最近在接触jquery和ajax,当前项目也会用到分页,为了用户体验更好一些,就准备用无刷新分页,这个demo很适合新手学习查看,写的比较清晰,话不多说,直接上代码吧. 首先是html页面,index ...

  2. ajax分页2:jquery.pagination +JSON 动态无刷新分页

    静态页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  3. jquery.pagination +JSON 动态无刷新分页

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="SqlPage.aspx.cs& ...

  4. ASP.NET Ajax简单的无刷新分页

    最近练习了一些AJAX无刷新分页,写得比较简单,性能不知道怎么样,求大神指点,如有更好的分页提供,欢迎交流! 发话不多说了,直接上代码! 首先从网上下了一个JS分页,感觉挺好用的 (function( ...

  5. 本篇文章主要是对jquery+ajax+C#实现无刷新操作数据库数据的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    我们知道同步执行和异步执行的区别,为了更好的提高用户的体验,我们都会采用异步方式去处理一些问题,毕竟单线程的同步可能回造成卡死等现象,很不友好,所以可以使用ajax来完成用户的体验,现在我们就来说说如 ...

  6. TP2.0或3.1 或者 3.2 下使用ajax+php做无刷新分页(转+自创)

    1.前言 作为一名php程序员,我们开发网站主要就是为了客户从客户端进行体验,在这里,thinkphp框架自带的分页类是每次翻页都要刷新一下整个页面,这种翻页的用户体验显然是不太理想的,我们希望每次翻 ...

  7. Bootstrap Paginator分页插件+ajax 实现动态无刷新分页

    之前做分页想过做淘宝的那个,但是因为是后台要求不高,就Bootstrap Paginator插件感觉还蛮容易上手,所以就选了它. Bootstrap Paginator分页插件下载地址: Downlo ...

  8. asp.net 中使用JQuery Ajax 上传文件

    首先创建一个网页,网页中添加如下代码. <h3>Upload File using Jquery AJAX in Asp.net</h3> <table> < ...

  9. jQuery+AJAX实现网页无刷新上传

    新年礼,提供简单.易套用的 jQuery AJAX上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 ...

随机推荐

  1. linux系统下C语言调用lapack ,blas库

    在利用C语言编程,经常调用其他的软件包,其中lapack,blas库是最常用的两个库,这里讲下在linux系统下,C语言编程如何调用这两个库: 1.首先讲下blas库的调用,这里以两个向量内积函数为例 ...

  2. C语言中指针*p[N], (*P)[N],及**p的区别

    在C语言编程中指针经常困扰着我们,但是若能灵活运用指针的话,将会使得我们编程变得更加轻松与高效.这里讲下*p[N], (*P)[N],及**p的区别,这也是之前经常困扰我的地方. 这三者的定义分别为: ...

  3. ZXing生成条形码、二维码、带logo二维码

    采用的是开源的ZXing,Maven配置如下,jar包下载地址,自己选择版本下载,顺便推荐下Maven Repository <!-- https://mvnrepository.com/art ...

  4. 32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式

    32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式 一丶RadAsm的配置和使用 用了怎么长时间的命令行方式,我们发现了几个问题 1.没有代码提醒功能 2.编写代码很慢,记不住各 ...

  5. 32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看)

    32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看) 昨天,大家可能都看了代码了,不知道昨天有没有在汇编代码的基础上,实现注入计算器. 如果没有,今天则会讲解,不过建议 ...

  6. JUnit之TestCase和TestSuite详解

    首先介绍下TestCase以及TestSuite.    TestCase:字面意思,测试用例.为一个或多个方法提供测试方法.一般是一个test    TestSuite:测试集合,即一组测试.一个t ...

  7. YYHS-怎样更有力气

    题目描述 OI大师抖儿在夺得银牌之后,顺利保送pku.这一天,抖儿问长者:"我虽然已经保送了,但我的志向是为国家健康工作五十年.请问我应该怎样变得更有力气?"  长者回答:&quo ...

  8. 【2017集美大学1412软工实践_助教博客】团队作业9——测试与发布(Beta版本)

    题目 团队作业9--测试与发布(Beta版本)(http://www.cnblogs.com/happyzm/p/6917253.html) 团队作业9-1 测试与发布成绩 分值 1 0.5 0.5 ...

  9. java--利用exe4j生成.exe的可执行文件

    工具:eclipse,exe4j,jre,这三个都可以直接在官方网站下载,下面所用到的都是最新版的. 前期准备:用eclipse编好需要生成.exe文件的project,另外exe4j需要一个注册码, ...

  10. 201521123067 《Java程序设计》第6周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 2. 书面作业 Q1:clone方法 1.1 Object ...