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 相关文章推荐
JavaScript静态的动态
Sep 18 Javascript
JS 控制CSS样式表
Aug 20 Javascript
JS setCapture 区域外事件捕捉
Mar 18 Javascript
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
Apr 20 Javascript
javascript中全局对象的isNaN()方法使用介绍
Dec 19 Javascript
javascript使用call调用微信API
Dec 15 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
Aug 05 Javascript
Node.js 8 中的 util.promisify的详解
Jun 12 Javascript
vue弹窗组件使用方法
Apr 28 Javascript
JS使用new操作符创建对象的方法分析
May 30 Javascript
node中使用log4js4.x版本记录日志的方法
Aug 20 Javascript
node.js如何操作MySQL数据库
Oct 29 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
PHP的5个安全措施小结
2012/07/17 PHP
php操作路径的经典方法(必看篇)
2016/10/04 PHP
JavaScript Sort 表格排序
2009/10/31 Javascript
javascript整除实现代码
2010/11/23 Javascript
js判读浏览器是否支持html5的canvas的代码
2013/11/18 Javascript
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
jquery实现超简洁的TAB选项卡效果代码
2015/08/28 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
JS简单生成两个数字之间随机数的方法
2016/08/03 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
JS button按钮实现submit按钮提交效果
2016/11/01 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
2017/07/22 jQuery
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
2018/01/09 Javascript
浅谈Webpack下多环境配置的思路
2018/06/27 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
2020/04/10 Javascript
JS倒计时两种实现方式代码实例
2020/07/27 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
python通过加号运算符操作列表的方法
2015/07/28 Python
python读取LMDB中图像的方法
2018/07/02 Python
Python内建序列通用操作6种实现方法
2020/03/26 Python
python datetime处理时间小结
2020/04/16 Python
Django-imagekit的使用详解
2020/07/06 Python
python 生成器需注意的小问题
2020/09/29 Python
TUMI澳大利亚网站:美国旅行箱包品牌
2017/03/27 全球购物
委托公证书范本
2014/04/03 职场文书
业务内勤岗位职责
2014/04/30 职场文书
运动会演讲稿200字
2014/08/25 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
国庆节慰问信
2015/02/15 职场文书
幽灵公主观后感
2015/06/09 职场文书
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL