类似baidu google分页器效果的代码(修改于 kwklover 同学基础上)
2011-08-24 09:39
423 查看
补充:基于JSON的ajax无刷新分页已经做好,请查阅 /article/5829174.html
今天本来要做基于json的Ajax分页效果。一大早起来就上园子找菜来吃。。刚好看到 kwklover 同学缩写的 分页器 实现。原文地址:http://www.cnblogs.com/kwklover/archive/2006/04/21/381832.html 我在他的基础上做了些修改,但是仍然不是非常完善!代码如下:
先贴上分页器代码。稍后我会上传 基于json 的ajax 分页。。。高手勿喷,:-)。。。欢迎交流
今天本来要做基于json的Ajax分页效果。一大早起来就上园子找菜来吃。。刚好看到 kwklover 同学缩写的 分页器 实现。原文地址:http://www.cnblogs.com/kwklover/archive/2006/04/21/381832.html 我在他的基础上做了些修改,但是仍然不是非常完善!代码如下:
//http://www.cnblogs.com/kwklover/archive/2006/04/21/381832.html protected void Page_Load(object sender, EventArgs e) { if (Request["page"] == null || Request["page"] == "") BuildPager(10000, 1, 10); else BuildPager(10000, Convert.ToInt32(Request["page"]), 10); } /// <summary> /// 创建并显示分页器 /// </summary> /// <param name="totalRecords">总页数</param> /// <param name="currentPage">当前页码</param> /// <param name="pageSize">页面大小</param> private void BuildPager(int totalRecords, int currentPage, int pageSize) { int alter = 4; int startPage = 1; int endPage = currentPage + alter; int totalPages = this.CalculateTotalPages(totalRecords, pageSize); if (currentPage > alter) { startPage = currentPage - alter; } if (endPage > totalPages) { endPage = totalPages; } string strTemp = @"<a title='{0}' href='Default.aspx?page={1}'>{2}</a> "; StringBuilder sb = new StringBuilder(""); if (currentPage != startPage) { if (currentPage > startPage) { sb.Append(string.Format(strTemp, 1, 1, "首页")); sb.Append(string.Format(strTemp, currentPage - 1, currentPage - 1, "上一页")); } } for (int i = startPage; i <= endPage; i++) { if (currentPage == i) { sb.Append("<font color=red>" + i + "</font> "); } else { sb.Append(string.Format(strTemp, i, i, "[" + i + "]")); } } if (currentPage != endPage) { sb.Append(string.Format(strTemp, currentPage + 1, currentPage + 1, "下一页")); sb.Append(string.Format(strTemp, totalPages, totalPages, "尾页")); } this.ltlShowPager.Text = sb.ToString(); } /**/ /// <summary> /// 计算总页数 /// </summary> /// <param name="totalRecords">总记录数</param> /// <param name="pageSize">每页记录数</param> private int CalculateTotalPages(int totalRecords, int pageSize) { int totalPagesAvailable; totalPagesAvailable = totalRecords / pageSize; //由于C#的整形除法 会把所有余数舍入为0,所以需要判断是否需要加1 if ((totalRecords % pageSize) > 0) totalPagesAvailable++; return totalPagesAvailable; }
先贴上分页器代码。稍后我会上传 基于json 的ajax 分页。。。高手勿喷,:-)。。。欢迎交流
相关文章推荐
- 类似baidu google分页器效果的代码(修改于 kwklover 同学基础上)
- 类似baidu google分页页码效果的代码
- 对自定义折线图 曲线图进行 图层优化后的代码,之前的性能差效果不友好,修改为:类似支付宝 中查看基金走势图的效果
- cocos2dx 基础触碰效果封装(通用于具有触碰效果的节点或精灵,类似按钮,方便扩展),很久以前的代码
- android中修改framework层代码后怎样操作才能看到修改后的效果?
- 类似msn的提示效果代码系列二:用脚本编写消息提示类
- Android两行代码修改给系统状态栏设置透明效果
- 修改了myeclipse中的代码,在浏览器中还是以前的效果
- Uva 10596 - Morning Walk 欧拉回路基础水题 并查集实现【uva数据修改,代码已更新】
- 一个带有点击效果和计时功能可圆角的自定义Button(支持XML和代码修改属性)
- [程序代写推荐]jquery 弹出登陆框,简单易懂!修改密码效果代码
- android中修改framework层代码后怎样操作才能看到修改后的效果?
- JS实现无限级网页折叠菜单(类似树形菜单)效果代码
- [找程序员代写推荐]jquery 弹出登陆框,简单易懂!修改密码效果代码
- 实现类似 iOS 5 推送通知效果的代码例子
- jquery 弹出登陆框,简单易懂!修改密码效果代码
- UIView基础动画(推荐多使用Block)---能实现很多效果,透明--不透明 缩放--从无到整 Block之间添加代码也就是开始动画与结束动画之间
- 上传代码之后,有的时候需要清除浏览器的缓存才能看到修改的效果
- 实现类似 iOS 5 推送通知效果的代码例子
- Dom利用javascript实现模拟弹出对话框效果的代码,类似JQuery中的dialog!