JQuery与JSon实现的无刷新分页代码


Posted in Javascript onSeptember 13, 2011

如图   JQuery与JSon实现的无刷新分页代码
而无刷新分页可以解决这个问题,上面播放着视频,下面我点下一页看着评论,现在大部分的网站都是无刷新分页。
源码如下(我是采用一页显示10条记录):
需要四个文件
一个实体类文件 CategoryInfoModel.cs
一个SqlHelper SQLHelper.cs
一个AJAX服务端处理程序 PagedService.ashx
一个客户端调用页面 WSXFY.htm
CategoryInfoModel.cs和SQLHelper.cs我就不写了,都知道是什么文件
PagedService.ashx 代码如下

using System.Web.Script.Serialization; 
public void ProcessRequest(HttpContext context) 
{ 
context.Response.ContentType = "text/plain"; 
string strAction = context.Request["Action"]; 
//取页数 
if (strAction == "GetPageCount") 
{ 
string strSQL = "SELECT COUNT(*) FROM CategoryInfo"; 
int intRecordCount = SqlHelper.ExecuteScalar(strSQL); 
int intPageCount = intRecordCount / 10; 
if (intRecordCount % 10 != 0) 
{ 
intPageCount++; 
} 
context.Response.Write(intPageCount); 
}//取每页数据 
else if (strAction == "GetPageData") 
{ 
string strPageNum = context.Request["PageNum"]; 
int intPageNum = Convert.ToInt32(strPageNum); 
int intStartRowIndex = (intPageNum - 1) * 10 + 1; 
int intEndRowIndex = (intPageNum) * 10 + 1; 
string strSQL = "SELECT * FROM ( SELECT ID,CategoryName,Row_Number() OVER(ORDER BY ID ASC) AS rownum FROM CategoryInfo) AS t"; 
strSQL += " WHERE t.rownum >= " + intStartRowIndex + " AND t.rownum <= " + intEndRowIndex; 
DataSet ds = new DataSet(); 
SqlConnection conn = SqlHelper.GetConnection(); 
ds = SqlHelper.ExecuteDataset(conn, CommandType.Text, strSQL); 
List<CategoryInfoModel> categoryinfo_list = new List<CategoryInfoModel>();//定义实体集合 
for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
{ 
CategoryInfoModel categoryinfo = new CategoryInfoModel(); 
categoryinfo.CategoryInfoID = Convert.ToInt32(ds.Tables[0].Rows[i]["ID"]); 
categoryinfo.CategoryName = ds.Tables[0].Rows[i]["CategoryName"].ToString(); 
categoryinfo_list.Add(categoryinfo); 
} 
JavaScriptSerializer jss = new JavaScriptSerializer(); 
context.Response.Write(jss.Serialize(categoryinfo_list));//序列化实体集合为javascript对象 
} 
}

WSXFY.htm 代码如下
<head> 
<title>无刷新分页</title> 
<script type="text/javascript" src="../Scripts/jquery-1.5.1.min.js"></script> 
<script type="text/javascript"> 
$(function () { 
$.post("PagedService.ashx", { "Action": "GetPageCount" }, function (response, status) { 
for (var i = 1; i <= response; i++) { 
var td = $("<td><a href=''>" + i + "</a></td>"); 
$("#trPage").append(td); 
td.click(function (e) { 
e.preventDefault(); //不要导向链接 
$.post("PagedService.ashx", { "Action": "GetPageData", "PageNum":$(this).text() }, function (response, status) { 
var categorys = $.parseJSON(response); 
$("#ulCategory").empty(); 
for (var i = 0; i < categorys.length; i++) { 
var category = categorys[i]; 
var li = $("<li>" + category.CategoryInfoID + "-" + category.CategoryName + "</li>"); 
$("#ulCategory").append(li); 
} 
}); 
}); 
} 
}); 
}); 
</script> 
</head> 
<body> 
<ul id="ulCategory"></ul> 
<table> 
<tr id="trPage"> 
</tr> 
</table> 
</body> 
</html>

效果如下(页面好不好看取决于你画DOM 的水平了,我这里只是简单的画了画)
JQuery与JSon实现的无刷新分页代码
Javascript 相关文章推荐
Firefox getBoxObjectFor getBoundingClientRect联系
Oct 26 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
Mar 17 Javascript
跨浏览器开发经验总结(四) 怎么写入剪贴板
May 13 Javascript
js 针对html DOM元素操作等经验累积
Mar 11 Javascript
JS 循环li添加点击事件 (闭包的应用)
Dec 10 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
Jan 18 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
Apr 07 jQuery
React Native仿美团下拉菜单的实例代码
Aug 08 Javascript
初探JavaScript 面向对象(推荐)
Sep 03 Javascript
layui radio性别单选框赋值方法
Aug 15 Javascript
vsCode安装使用教程和插件安装方法
Aug 24 Javascript
react合成事件与原生事件的相关理解
May 13 Javascript
js Event对象的5种坐标
Sep 12 #Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
Sep 12 #Javascript
腾讯UED 漂亮的提示信息效果代码
Sep 12 #Javascript
jQuery的.live()和.die() 使用介绍
Sep 10 #Javascript
jquery tab插件精简版分享
Sep 10 #Javascript
javascript语言结构小记(一)
Sep 10 #Javascript
JavaScript高级程序设计 客户端存储学习笔记
Sep 10 #Javascript
You might like
php4的session功能评述(三)
2006/10/09 PHP
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
PHP用函数嵌入网站访问量计数器
2017/10/27 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
javascript字典探测用户名工具
2006/10/05 Javascript
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
javascript实现全局匹配并替换的方法
2015/04/27 Javascript
Javascript验证方法大全
2015/09/21 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
JS创建Tag标签的方法详解
2017/06/09 Javascript
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
TensorFlow实现RNN循环神经网络
2018/02/28 Python
TensorFlow搭建神经网络最佳实践
2018/03/09 Python
PyCharm 创建指定版本的 Django(超详图解教程)
2019/06/18 Python
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
新西兰优惠网站:Treat Me
2019/07/04 全球购物
电大自我鉴定范文
2013/10/01 职场文书
大学生军训自我鉴定
2014/02/12 职场文书
优良学风班申请材料
2014/02/13 职场文书
合伙经营协议书
2014/04/18 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
普通党员对照检查材料
2014/09/24 职场文书
反腐倡廉剖析材料
2014/09/30 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
公司更名通知函
2015/04/24 职场文书
孟佩杰观后感
2015/06/17 职场文书
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android