涉及到得知识点:

1.分页存储过程
2.分页原理
3.jQuery DOM操作
4.jQuery Ajax存取数据
 
效果图:
aaarticlea/png;base64,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" alt="" />
思路:数据库---DAL----BLL----UI
具体代码:

  1. set ANSI_NULLS ON
  2. set QUOTED_IDENTIFIER ON
  3. go
  4.  
  5. CREATE PROCEDURE [dbo].[GetDataByPager]
  6. (
  7. @startIndex INT,--代表起始条数(从0开始)
  8. @tableName VARCHAR(50),--代表分页的表名称
  9. @pageSize INT=5,--代表每页的条数
  10. @condition VARCHAR(1000)='1=1',--代表条件
  11. @key VARCHAR(20)='id', --代表主键
  12. @orderType VARCHAR(20)='desc' --代表排序方式
  13. )AS
  14. BEGIN
  15. DECLARE @SQL VARCHAR(1000)
  16. SET @SQL='select TOP ' +CONVERT(VARCHAR(20),@pagesize)+' * FROM '+@tableName
  17. +' WHERE '+ @condition+' and '+@key+' NOT IN(SELECT TOP ' +CONVERT(VARCHAR(20),@startIndex)+' '+@key+' FROM '+@tableName+' where '+@condition+' order by '+@key+' '+@orderType+') order by '+@key+' '+@orderType
  18. EXEC(@SQL)
  19. END
  1. set ANSI_NULLS ON
  2. set QUOTED_IDENTIFIER ON
  3. go
  4.  
  5. --得到要分页的表的总记录数
  6. CREATE PROCEDURE [dbo].[GetDataByPager_Count]
  7. (
  8. @tableName VARCHAR(200),
  9. @condition VARCHAR(1000)='1=1'
  10. )
  11. AS
  12. BEGIN
  13. DECLARE @strsql VARCHAR(2000)
  14. SET @strsql = 'select count(*) from '+@tableName+' where '+@condition
  15. EXEC(@strsql)
  16. END

DAL层:

  1. public static partial class AuthorService
  2. {
  3. /// <summary>
  4. /// 分页取数据
  5. /// </summary>
  6. /// <param name="start">起始记录数(从1开始)</param>
  7. /// <param name="limit">每页的条数</param>
  8. /// <param name="condition">查询条件</param>
  9. /// <returns></returns>
  10. public static IList<Author> GetAuthorByPager(int start, int limit, string condition)
  11. {
  12. //string strsql = string.Format("Exec GetDataByPager2 {0},'{1}',{2},'{3}'", start, limit, condition);
  13. string strsql = string.Format("Exec GetDataByPager {0},'{1}',{2},'{3}'", start - 1, "Author", limit, condition);
  14.  
  15. return GetAuthorsBySql(strsql);
  16. }
  17. /// <summary>
  18. /// 条件查询结果集数目
  19. /// </summary>
  20. /// <param name="condition">条件</param>
  21. /// <returns></returns>
  22. public static int GetAuthorByPager_Count(string condition)
  23. {
  24. //string strsql = string.Format("GetDataByPager_Count '{0}'", condition);
  25. string strsql = string.Format("GetDataByPager_Count '{0}','{1}' ", "Author", condition);
  26. return DBHelper.GetScalar(strsql);
  27. }
  28. }

BLL层代码:

  1. public static partial class AuthorManager
  2. {
  3. /// <summary>
  4. /// 分页取数据
  5. /// </summary>
  6. /// <param name="start">起始记录数(从1开始)</param>
  7. /// <param name="limit">每页的条数</param>
  8. /// <param name="condition">查询条件</param>
  9. /// <returns></returns>
  10. public static IList<Author> GetAuthorByPager(int start, int limit, string condition)
  11. {
  12. return DAL.AuthorService.GetAuthorByPager(start, limit, condition);
  13. }
  14. /// <summary>
  15. /// 条件查询结果集数目
  16. /// </summary>
  17. /// <param name="condition">条件</param>
  18. /// <returns></returns>
  19. public static int GetAuthorByPager_Count(string condition)
  20. {
  21. return DAL.AuthorService.GetAuthorByPager_Count(condition);
  22. }
  23. }

引用了两个常用的js 代码:

  1.   String.format = function() {
  2. if (arguments.length == 0)
  3. return null;
  4. var str = arguments[0];
  5. for (var i = 1; i < arguments.length; i++) {
  6. var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm');
  7. str = str.replace(re, arguments[i]);
  8. }
  9. return str;
  10. }
  1. function StringBuffer()
  2. {
  3. this._strings_=new Array();
  4. }
  5. StringBuffer.prototype.append = function(str)
  6. {
  7. this._strings_.push(str);
  8. }
  9. StringBuffer.prototype.toString=function(){
  10. return this._strings_.join("");
  11. }

UI层得到数据:

  1. public partial class HandleAuthorList : System.Web.UI.Page
  2. {
  3. protected void Page_Load(object sender, EventArgs e)
  4. {
  5. if (Request["startIndex"] != null && Request["limit"] != null)
  6. {
  7. int startIndex = int.Parse(Request["startIndex"].ToString());
  8. int limit = int.Parse(Request["limit"].ToString());
  9. IList<Models.Author> authors = BLL.AuthorManager.GetAuthorByPager(startIndex, limit, "1=1");
  10. string json = JsonHelper.Serialize(authors);
  11. Response.Write(json);
  12. }
  13. else if (Request["type"] != null)
  14. {
  15. int rowCount= BLL.AuthorManager.GetAuthorByPager_Count("1=1");
  16. Response.Write(rowCount);
  17. }
  18. }
  19. }

Ajax异步刷新:

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AuthorMgr.aspx.cs" Inherits="AuthorMgr" %>
  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 id="Head1" runat="server">
  7. <title></title>
  8.  
  9. <script src="scripts/jquery-1.2.6.js" type="text/javascript"></script>
  10.  
  11. <script src="scripts/jquery-1.2.6-vsdoc-cn.js" type="text/javascript"></script>
  12.  
  13. <script src="scripts/string.format.js" type="text/javascript"></script>
  14.  
  15. <script src="scripts/StringBuffer.js" type="text/javascript"></script>
  16. <script type="text/javascript">
  17. <script type="text/javascript">
  18. var pageIndex = 1; //用于保存或设置当前页数
  19. var startIndex = 1; //用于保存或设置记录条数
  20. var limit = 3; //用于设置分页的条数
  21. var rowcount = 0; //表示总记录数
  22. var pageCount = 0; //代表总页数
  23. var oFooter = "<tr align='left' style='color:#003399;background-color:#99CCCC;'>"+
  24. "<td colspan='4'><table border='0'>"+
  25. "<tr><td><a>首页</a></td><td><a>下一页</a></td><td><a>上一页</a></td><td><a>最后一页</a></td></tr>" +
  26. "</table></td></tr>"
  27. function AjaxPager() {
  28. var $table = $("#GridView1");
  29. $("a", $table).attr("href", "javascript:void(0)")
  30. .click(function() {
  31. $("tr>td", $table).parent().remove();
  32. var oA = $(this).text();
  33. if (oA == "首页") {
  34. pageIndex = 1;
  35. } else if (oA == "上一页") {
  36. pageIndex = pageIndex == 1 ? 1 : pageIndex - 1;
  37. } else if (oA == "下一页") {
  38. pageIndex = pageIndex >= pageCount ? pageIndex : pageIndex + 1;
  39. } else {
  40. pageIndex = pageCount;
  41. }
  42. startIndex = (pageIndex - 1) * limit + 1;
  43.  
  44. $.getJSON("HandleAuthorList.aspx", { startIndex: startIndex, limit: limit }, function(josnArray) {
  45. var sb = new StringBuffer();
  46. $.each(josnArray, function(i, item) {
  47. var trTemplate = "<tr style='color:#003399;background-color:White;'>" +
  48. "<td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td>" +
  49. "</tr>";
  50. var oTr = String.format(trTemplate, item.id, item.au_Id, item.au_Lname, item.phone);
  51. sb.append(oTr);
  52.  
  53. })
  54.  
  55. $table.append(sb.toString());
  56. if ($("td>a", $table).length == 0) $table.append(oFooter);
  57. var $tableFooter = $("td>table", $table);
  58. if (pageIndex == 1)
  59. $("tr>td:gt(1)", $tableFooter).hide();
  60. else if (pageIndex == pageCount)
  61. $("tr>td:lt(2)", $tableFooter).hide();
  62. AjaxPager();
  63.  
  64. })
  65. });
  66. }
  67. $(document).ready(function() {
  68. $.get("HandleAuthorList.aspx", { type: "getcount" }, function(data) {
  69. rowcount = parseInt(data);
  70. if (rowcount % limit == 0)
  71. pageCount = rowcount / limit;
  72. else
  73. pageCount = parseInt(rowcount / limit) + 1;
  74. AjaxPager();
  75. });
  76.  
  77. });
  78. </script>
  79. </head>
  80. <body>
  81. <form id="form1" runat="server">
  82. <div>
  83.  
  84. <asp:GridView ID="GridView1" runat="server" AllowPaging="True"
  85. AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC"
  86. BorderStyle="None" BorderWidth="1px" CellPadding="4" DataKeyNames="Id"
  87. DataSourceID="SqlDataSource1" EmptyDataText="没有可显示的数据记录。" PageSize="3"
  88. Width="494px" EnableViewState="False">
  89. <PagerSettings FirstPageText="首页" LastPageText="最后一页"
  90. Mode="NextPreviousFirstLast" NextPageText="下一页" PreviousPageText="上一页" />
  91. <RowStyle BackColor="White" ForeColor="#003399" />
  92. <Columns>
  93. <asp:BoundField DataField="Id" HeaderText="Id" ReadOnly="True"
  94. SortExpression="Id" />
  95. <asp:BoundField DataField="Au_Id" HeaderText="Au_Id" SortExpression="Au_Id" />
  96. <asp:BoundField DataField="Au_Lname" HeaderText="Au_Lname"
  97. SortExpression="Au_Lname" />
  98. <asp:BoundField DataField="Phone" HeaderText="Phone" SortExpression="Phone" />
  99. </Columns>
  100. <FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
  101. <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
  102. <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
  103. <HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
  104. </asp:GridView>
  105. <asp:SqlDataSource ID="SqlDataSource1" runat="server"
  106. ConnectionString="<%$ ConnectionStrings:JQuerySimpleDBConnectionString1 %>"
  107. DeleteCommand="DELETE FROM [Author] WHERE [Id] = @Id"
  108. InsertCommand="INSERT INTO [Author] ([Au_Id], [Au_Lname], [Au_Fname], [Phone], [Addr], [City], [State], [Zip]) VALUES (@Au_Id, @Au_Lname, @Au_Fname, @Phone, @Addr, @City, @State, @Zip)"
  109. ProviderName="<%$ ConnectionStrings:JQuerySimpleDBConnectionString1.ProviderName %>"
  110. SelectCommand="SELECT [Id], [Au_Id], [Au_Lname], [Au_Fname], [Phone], [Addr], [City], [State], [Zip] FROM [Author] order by Id desc"
  111. UpdateCommand="UPDATE [Author] SET [Au_Id] = @Au_Id, [Au_Lname] = @Au_Lname, [Au_Fname] = @Au_Fname, [Phone] = @Phone, [Addr] = @Addr, [City] = @City, [State] = @State, [Zip] = @Zip WHERE [Id] = @Id">
  112. <DeleteParameters>
  113. <asp:Parameter Name="Id" Type="Int32" />
  114. </DeleteParameters>
  115. <InsertParameters>
  116. <asp:Parameter Name="Au_Id" Type="String" />
  117. <asp:Parameter Name="Au_Lname" Type="String" />
  118. <asp:Parameter Name="Au_Fname" Type="String" />
  119. <asp:Parameter Name="Phone" Type="String" />
  120. <asp:Parameter Name="Addr" Type="String" />
  121. <asp:Parameter Name="City" Type="String" />
  122. <asp:Parameter Name="State" Type="String" />
  123. <asp:Parameter Name="Zip" Type="String" />
  124. </InsertParameters>
  125. <UpdateParameters>
  126. <asp:Parameter Name="Au_Id" Type="String" />
  127. <asp:Parameter Name="Au_Lname" Type="String" />
  128. <asp:Parameter Name="Au_Fname" Type="String" />
  129. <asp:Parameter Name="Phone" Type="String" />
  130. <asp:Parameter Name="Addr" Type="String" />
  131. <asp:Parameter Name="City" Type="String" />
  132. <asp:Parameter Name="State" Type="String" />
  133. <asp:Parameter Name="Zip" Type="String" />
  134. <asp:Parameter Name="Id" Type="Int32" />
  135. </UpdateParameters>
  136. </asp:SqlDataSource>
  137.  
  138. </div>
  139. </form>
  140. </body>
  141. </html>

jQuery+存储过程实现无刷新分页(九)的更多相关文章

  1. 无刷新分页 jquery.pagination.js

     无刷新分页 jquery.pagination.js 采用Jquery无刷新分页插件jquery.pagination.js实现无刷新分页效果 1.插件参数列表 http://www.dtan.so ...

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

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

  3. javascript;Jquery;获取JSON对象,无刷新分页,异步加载,异步删除,实例。

    AjaxNewsList: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> < ...

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

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

  5. asp.net练习②——Paginaton无刷新分页

    aspx代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server" ...

  6. MVC无刷新分页(即局部刷新,带搜索,页数选择,排序功能)

    我查看了很多网站,大部分评论分页都是局部刷新的,可大部分电商商品展示分页都是有刷新页面的,于是我便做了一个商品展示无刷新分页的例子.接下来我就将做一个模仿淘宝已买到的宝贝功能,不过我的是无刷新分页的. ...

  7. thinkphp ajax 无刷新分页效果的实现

    思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...

  8. asp.net MVC4 +MVCpager 无刷新分页

    本人菜鸟,最近在用MVC4和MVCpager做无刷新分页时,发现点击下一页时数据不是Ajax提交的,弄了好久终于找到原因,原来还是Jquery引用的问题,现在把代码粘出来,希望能帮到刚接触的程序员,第 ...

  9. MVC无刷新分页

    MVC无刷新分页(即局部刷新,带搜索,页数选择,排序功能)   我查看了很多网站,大部分评论分页都是局部刷新的,可大部分电商商品展示分页都是有刷新页面的,于是我便做了一个商品展示无刷新分页的例子.接下 ...

随机推荐

  1. c# 打印 bartender

    参考: 官网  https://www.seagullscientific.com/label-software/barcode-label-design-and-printing 文章 http:/ ...

  2. Composer 安装和使用

    1.linux下安装 curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer ...

  3. ubuntu新建组合用户命令不管用

    当我们新建了组和用户的时候发现一些命令不管用了,这是什么问题呢. 一.解决方案. 通过以下命令添加组和用户,切换到新用户,发现命令不管用,只有一个$符号. groupadd 新组名 ----添加组 u ...

  4. SQL——将表中的最大ID+1插入新的ID中------Insert into 表 MAX(表id) +1

    表结构:group表(groupid int,groupname varchar) 表中数据:id name 分组1 分组2 分组3 分组4 ----------------------------- ...

  5. Hadoop mapreduce执行过程涉及api

    资源的申请,分配过程略过,从开始执行开始. mapper阶段: 首先调用默认的PathFilter进行文件过滤,确定哪些输入文件是需要的哪些是不需要的,然后调用inputFormat的getSplit ...

  6. Java并发编程(1)-Java内存模型

    本文主要是学习Java内存模型的笔记以及加上自己的一些案例分享,如有错误之处请指出. 一 Java内存模型的基础 1.并发编程模型的两个问题 在并发编程中,需要了解并会处理这两个关键问题: 1.1.线 ...

  7. 2018-2019-2 网络对抗技术 20165230 Exp4 恶意代码分析

    目录 1.实验内容 2.实验过程 任务一:系统运行监控 每隔五分钟记录自己的电脑,并进行分析 安装配置sysinternals里的sysmon工具 任务二:恶意软件分析 静态分析工具 ViruScan ...

  8. 基于theano的降噪自动编码器(Denoising Autoencoders--DA)

    1.自动编码器 自动编码器首先通过下面的映射,把输入 $x\in[0,1]^{d}$映射到一个隐层 $y\in[0,1]^{d^{'}}$(编码器): $y=s(Wx+b)$ 其中 $s$ 是非线性的 ...

  9. 使用SpringSecurity保护方法应用

    (1)pom添加依赖 <dependency> <groupId>org.springframework.security</groupId> <artifa ...

  10. MySQL— 索引

    目录 一.索引 二.索引类型 三.索引种类 四.操作索引 五.创建索引的时机 六.命中索引 七.其它注意事项 八.LIMIT分页 九.执行计划 十.慢查询日志 一.索引 MySQL索引的建立对于MyS ...