涉及到得知识点:

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

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go CREATE PROCEDURE [dbo].[GetDataByPager]
(
@startIndex INT,--代表起始条数(从0开始)
@tableName VARCHAR(50),--代表分页的表名称
@pageSize INT=5,--代表每页的条数
@condition VARCHAR(1000)='1=1',--代表条件
@key VARCHAR(20)='id', --代表主键
@orderType VARCHAR(20)='desc' --代表排序方式
)AS
BEGIN
DECLARE @SQL VARCHAR(1000)
SET @SQL='select TOP ' +CONVERT(VARCHAR(20),@pagesize)+' * FROM '+@tableName
+' 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
EXEC(@SQL)
END
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go --得到要分页的表的总记录数
CREATE PROCEDURE [dbo].[GetDataByPager_Count]
(
@tableName VARCHAR(200),
@condition VARCHAR(1000)='1=1'
)
AS
BEGIN
DECLARE @strsql VARCHAR(2000)
SET @strsql = 'select count(*) from '+@tableName+' where '+@condition
EXEC(@strsql)
END

DAL层:

public static partial class AuthorService
{
/// <summary>
/// 分页取数据
/// </summary>
/// <param name="start">起始记录数(从1开始)</param>
/// <param name="limit">每页的条数</param>
/// <param name="condition">查询条件</param>
/// <returns></returns>
public static IList<Author> GetAuthorByPager(int start, int limit, string condition)
{
//string strsql = string.Format("Exec GetDataByPager2 {0},'{1}',{2},'{3}'", start, limit, condition);
string strsql = string.Format("Exec GetDataByPager {0},'{1}',{2},'{3}'", start - 1, "Author", limit, condition); return GetAuthorsBySql(strsql);
}
/// <summary>
/// 条件查询结果集数目
/// </summary>
/// <param name="condition">条件</param>
/// <returns></returns>
public static int GetAuthorByPager_Count(string condition)
{
//string strsql = string.Format("GetDataByPager_Count '{0}'", condition);
string strsql = string.Format("GetDataByPager_Count '{0}','{1}' ", "Author", condition);
return DBHelper.GetScalar(strsql);
}
}

BLL层代码:

 public static partial class AuthorManager
{
/// <summary>
/// 分页取数据
/// </summary>
/// <param name="start">起始记录数(从1开始)</param>
/// <param name="limit">每页的条数</param>
/// <param name="condition">查询条件</param>
/// <returns></returns>
public static IList<Author> GetAuthorByPager(int start, int limit, string condition)
{
return DAL.AuthorService.GetAuthorByPager(start, limit, condition);
}
/// <summary>
/// 条件查询结果集数目
/// </summary>
/// <param name="condition">条件</param>
/// <returns></returns>
public static int GetAuthorByPager_Count(string condition)
{
return DAL.AuthorService.GetAuthorByPager_Count(condition);
}
}

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

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

UI层得到数据:

public partial class HandleAuthorList : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request["startIndex"] != null && Request["limit"] != null)
{
int startIndex = int.Parse(Request["startIndex"].ToString());
int limit = int.Parse(Request["limit"].ToString());
IList<Models.Author> authors = BLL.AuthorManager.GetAuthorByPager(startIndex, limit, "1=1");
string json = JsonHelper.Serialize(authors);
Response.Write(json);
}
else if (Request["type"] != null)
{
int rowCount= BLL.AuthorManager.GetAuthorByPager_Count("1=1");
Response.Write(rowCount);
}
}
}

Ajax异步刷新:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AuthorMgr.aspx.cs" Inherits="AuthorMgr" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title> <script src="scripts/jquery-1.2.6.js" type="text/javascript"></script> <script src="scripts/jquery-1.2.6-vsdoc-cn.js" type="text/javascript"></script> <script src="scripts/string.format.js" type="text/javascript"></script> <script src="scripts/StringBuffer.js" type="text/javascript"></script>
<script type="text/javascript">
<script type="text/javascript">
var pageIndex = 1; //用于保存或设置当前页数
var startIndex = 1; //用于保存或设置记录条数
var limit = 3; //用于设置分页的条数
var rowcount = 0; //表示总记录数
var pageCount = 0; //代表总页数
var oFooter = "<tr align='left' style='color:#003399;background-color:#99CCCC;'>"+
"<td colspan='4'><table border='0'>"+
"<tr><td><a>首页</a></td><td><a>下一页</a></td><td><a>上一页</a></td><td><a>最后一页</a></td></tr>" +
"</table></td></tr>"
function AjaxPager() {
var $table = $("#GridView1");
$("a", $table).attr("href", "javascript:void(0)")
.click(function() {
$("tr>td", $table).parent().remove();
var oA = $(this).text();
if (oA == "首页") {
pageIndex = 1;
} else if (oA == "上一页") {
pageIndex = pageIndex == 1 ? 1 : pageIndex - 1;
} else if (oA == "下一页") {
pageIndex = pageIndex >= pageCount ? pageIndex : pageIndex + 1;
} else {
pageIndex = pageCount;
}
startIndex = (pageIndex - 1) * limit + 1; $.getJSON("HandleAuthorList.aspx", { startIndex: startIndex, limit: limit }, function(josnArray) {
var sb = new StringBuffer();
$.each(josnArray, function(i, item) {
var trTemplate = "<tr style='color:#003399;background-color:White;'>" +
"<td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td>" +
"</tr>";
var oTr = String.format(trTemplate, item.id, item.au_Id, item.au_Lname, item.phone);
sb.append(oTr); }) $table.append(sb.toString());
if ($("td>a", $table).length == 0) $table.append(oFooter);
var $tableFooter = $("td>table", $table);
if (pageIndex == 1)
$("tr>td:gt(1)", $tableFooter).hide();
else if (pageIndex == pageCount)
$("tr>td:lt(2)", $tableFooter).hide();
AjaxPager(); })
});
}
$(document).ready(function() {
$.get("HandleAuthorList.aspx", { type: "getcount" }, function(data) {
rowcount = parseInt(data);
if (rowcount % limit == 0)
pageCount = rowcount / limit;
else
pageCount = parseInt(rowcount / limit) + 1;
AjaxPager();
}); });
</script>
</head>
<body>
<form id="form1" runat="server">
<div> <asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC"
BorderStyle="None" BorderWidth="1px" CellPadding="4" DataKeyNames="Id"
DataSourceID="SqlDataSource1" EmptyDataText="没有可显示的数据记录。" PageSize="3"
Width="494px" EnableViewState="False">
<PagerSettings FirstPageText="首页" LastPageText="最后一页"
Mode="NextPreviousFirstLast" NextPageText="下一页" PreviousPageText="上一页" />
<RowStyle BackColor="White" ForeColor="#003399" />
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" ReadOnly="True"
SortExpression="Id" />
<asp:BoundField DataField="Au_Id" HeaderText="Au_Id" SortExpression="Au_Id" />
<asp:BoundField DataField="Au_Lname" HeaderText="Au_Lname"
SortExpression="Au_Lname" />
<asp:BoundField DataField="Phone" HeaderText="Phone" SortExpression="Phone" />
</Columns>
<FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
<PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
<HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:JQuerySimpleDBConnectionString1 %>"
DeleteCommand="DELETE FROM [Author] WHERE [Id] = @Id"
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)"
ProviderName="<%$ ConnectionStrings:JQuerySimpleDBConnectionString1.ProviderName %>"
SelectCommand="SELECT [Id], [Au_Id], [Au_Lname], [Au_Fname], [Phone], [Addr], [City], [State], [Zip] FROM [Author] order by Id desc"
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">
<DeleteParameters>
<asp:Parameter Name="Id" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="Au_Id" Type="String" />
<asp:Parameter Name="Au_Lname" Type="String" />
<asp:Parameter Name="Au_Fname" Type="String" />
<asp:Parameter Name="Phone" Type="String" />
<asp:Parameter Name="Addr" Type="String" />
<asp:Parameter Name="City" Type="String" />
<asp:Parameter Name="State" Type="String" />
<asp:Parameter Name="Zip" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="Au_Id" Type="String" />
<asp:Parameter Name="Au_Lname" Type="String" />
<asp:Parameter Name="Au_Fname" Type="String" />
<asp:Parameter Name="Phone" Type="String" />
<asp:Parameter Name="Addr" Type="String" />
<asp:Parameter Name="City" Type="String" />
<asp:Parameter Name="State" Type="String" />
<asp:Parameter Name="Zip" Type="String" />
<asp:Parameter Name="Id" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource> </div>
</form>
</body>
</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. docker部署路飞学城

    docker部署路飞学城blog来啦 部署需求分析: 之前是将nginx.django.vue直接部署在服务器上,既然学了docker,试试怎么部署在docker中 1.环境准备 一台linux服务器 ...

  2. 转 -- 详解python的super()的作用和原理

    原文地址 Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的this),用于传递对象本身,而在调用的时候则不必显式传递,系统会自动传递. 今天我们介绍的主角是supe ...

  3. WebStrom直接启动VUE项目

    点Run即可启动

  4. 10 SpringBoot全面接管SpringMVC

    Spring Boot官方文档描述 If you want to keep Spring Boot MVC features and you want to add additional MVC co ...

  5. Nginx GZIP 压缩

    [ HTTP 开启gzip ] gzip on; // 开启 nginx在线实时压缩数据流: gzip_min_length 1k; // 允许压缩的页面最小字节 gzip_buffers 32k; ...

  6. Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;

    Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/l ...

  7. History API:ScrollRestoration

    By Paul Lewis(设计和性能倡导者)   翻译:江天 使用history api管理url是非常棒的一件事,可以说这是一个好web app的极为重要的特点.但它有一个缺点,滚动位置虽然被存储 ...

  8. Fragment的常用写法

    一般通过add.show.hide相结合的方法来控制Fragment的显示和隐藏,这样不会再重写一遍Fragment的生命周期,节省了时间和内存,当然特殊需求除外. package com.examp ...

  9. 第一个FPGA工程—LED流水灯

    这一章我们来实现第一个FPGA工程-LED流水灯.我们将通过流水灯例程向大家介绍一次完整的FPGA开发流程,从新建工程,代码设计,综合实现,管脚约束,下载FPGA程序.掌握本章内容,大家就算正式的开始 ...

  10. zabbix系列(七)zabbix3.0添加对tcp连接数及状态的监控

    原理: netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' TIME_WAIT 79 ESTABLISHED 6 LISTE ...