Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9464876
  • 博文数量: 1750
  • 博客积分: 12961
  • 博客等级: 上将
  • 技术积分: 20091
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 11:25
个人简介

偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.

文章分类

全部博文(1750)

文章存档

2024年(26)

2023年(26)

2022年(112)

2021年(217)

2020年(157)

2019年(192)

2018年(81)

2017年(78)

2016年(70)

2015年(52)

2014年(40)

2013年(51)

2012年(85)

2011年(45)

2010年(231)

2009年(287)

分类:

2009-12-17 11:27:53

Asp.net + jQuery + jQuery pager plugin + Sql Server 利用Ajax实现真正的无刷新分页浏览,彻底不依赖于页面后台的支持,直接利用ajax进行异步取得数据。

学习新东西时,如果没人指导,肯定少不了走弯路。就这一个功能,我弄了两天(其实是我笨),前一天半根本不知道怎么弄,尤其是获取总页数的时候,根本无法理解,最后半天,在前一天半的基础上,突然顿悟,终于实现了愿望,所以一定要记下来。

说明:

(1)jQuery pager plugin插件,看到很多例子都是把待分页的数据一次性准备后,然后供其进行分页处理,细想一下,如果要分页的数据有几W条甚至几十万上百万条,这种策略可能不行,所以使用了分页存储过程,每次只读取一页的数据,这样就减小了数据传输量。

(2)数据总页数 看到更多的例子都是在后台设定一个变量记录总页数,然后在界面的html里让jQuery pager plugin去取得这个变量值,然后进行分页导航的处理。这样似乎每次都得更新这个后台变量,如果不更新就会出错喽(试想一下,如果你正在读取第6页的数据列表,可能你读了10分钟,而这10分钟内,别人又添加了N条记录,如果你不更新这个后台总页数的变量,那分页jQuery pager plugin插件就处理了错误的数据了,如果要每次要更新,那就不是无刷新效果了),所以我采用了一个笨方法来实现无刷新更新。其实焦点就是总页数的处理问题

(3)思路很简单,页面第一次加载的时候先通过一个异步请求取得总页数TotalPages,然后把TotalPages交给jQuery pager plugin插件进行分页处理,接着去读取也是异步去取得第一页的数据,其实每次读新一页的数据都是要进行上面的重复操作

(4)分页存储过程是利用别人的,在此借用一下,不过时间久了,找不到原文地址,不好意思。其他的jQuery 和jQuery pager plugin插件都是网上共享的。

上代码看看吧:

(1)创建表脚本

CREATE TABLE [dbo].[Product](
    
[ID] [int] IDENTITY(1,1NOT NULL,
    
[FileName] [nvarchar](50) ,
    
[FileLength] [int] ,
    
[FilePath] [nvarchar](50) ,
    
[FileDescription] [nvarchar](50
)

 

分页存储过程

Code
(2)Ajax处理
A 取得总页数
Total.aspx.cs
Code

B 取得某分页的数据

ajax.aspx.cs

Code

(3)前台页面

引用jquery-1.3.js、引用 jquery.pager.js、引用Pager.css

html

Code

 

Code

 

效果图,样式很难看,但实现了效果。

阅读(2620) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~