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 相关文章推荐
遍历jquery对象的代码分享
Nov 02 Javascript
基于jquery的文本框与autocomplete结合使用(asp.net+json)
May 30 Javascript
批量实现面向对象的实例代码
Jul 01 Javascript
js sort 二维数组排序的用法小结
Jan 24 Javascript
javascript正则表达式基础知识入门
Apr 20 Javascript
jQuery实现判断滚动条到底部
Jun 23 Javascript
jquery实现移动端点击图片查看大图特效
Sep 11 Javascript
9个让JavaScript调试更简单的Console命令
Nov 14 Javascript
Bootstrap CSS组件之导航条(navbar)
Dec 17 Javascript
js 判断数据类型的几种方法
Jan 13 Javascript
微信小程序学习总结(五)常见问题实例小结
Jun 04 Javascript
Vue实现穿梭框效果
Sep 30 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 错误处理经验分享
2011/10/11 PHP
深入PHP获取随机数字和字母的方法详解
2013/06/06 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
2017/02/04 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
2018/10/14 PHP
lib.utf.js
2007/08/21 Javascript
javascript最常用与实用的创建类的代码
2010/08/12 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
JS设置下拉列表框当前所选值的方法
2015/12/22 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
微信小程序实现九宫格抽奖
2020/04/15 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
[01:10]DOTA2亚洲邀请赛 征战号角响彻全场
2015/01/06 DOTA
python获得文件创建时间和修改时间的方法
2015/06/30 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
python将txt文件读入为np.array的方法
2018/10/30 Python
django query模块
2019/04/20 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
pytorch实现Tensor变量之间的转换
2020/02/17 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
创建市级文明单位实施方案
2014/03/01 职场文书
行政人事经理职位说明书
2014/03/05 职场文书
电焊工岗位工作职责
2014/07/09 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers