生成分页代码
来源:互联网 发布:县医院 网络图片图 编辑:程序博客网 时间:2024/06/06 08:26
/// <summary> /// 生成分页代码 /// </summary> /// <param name="totalPageNo">总页数</param> /// <param name="pageNo">当前页</param> /// <param name="parameters">参数(&开头)</param> /// <param name="showPageCount">分页中间部分的显示的页码数量</param> /// <returns></returns> protected string BulidPage(int totalPageNo, int pageNo, string parameters, int showPageCount = 10) { StringBuilder strPage = new StringBuilder(""); strPage.Append("<div class=\"pageBox\">"); //如果仅有一页,那么不显示分页 if (totalPageNo == 1) return ""; #region 不合理判断 if (pageNo > totalPageNo) pageNo = totalPageNo; #endregion #region 拼接首页和上一页 if (pageNo == 1) strPage.Append("<a class=\"disabled\">首页</a><a class=\"disabled\">上一页</a>"); else strPage.Append("<a href=\"News.aspx?pageNo=1" + parameters + "\">首页</a><a href=\"News.aspx?pageNo=" + (pageNo - 1) + parameters + "\">上一页</a>"); #endregion #region 拼接中间部分 if (showPageCount > 0) { //分页共几屏 //eg:2屏 //①【首页 上一页 1 2 3 4 5 下一页 尾页】 ②【首页 上一页 6 7 8 9 10 下一页 尾页】 //eg:3屏 //①【首页 上一页 1 2 3 4 5 下一页 尾页】 ②【首页 上一页 6 7 8 9 10 下一页 尾页】 ③【首页 上一页 11 12 下一页 尾页】 int totalDuan = totalPageNo % showPageCount == 0 ? totalPageNo / showPageCount : totalPageNo / showPageCount + 1; //当前页码在分页的第几屏 int currDuan = pageNo % showPageCount == 0 ? pageNo / showPageCount : pageNo / showPageCount + 1; //第一种情况:不显示省略号(就一屏) if (totalDuan == 1) //totalPageNo <= showPageCount { for (int i = 1; i < totalPageNo + 1; i++) { if (pageNo == i) strPage.Append("<span class=\"current\">" + i + "</span>"); else strPage.Append("<a href=\"News.aspx?pageNo=" + i + parameters + "\">" + i + "</a>"); } } else { //判断左边是否添加省略号 if (currDuan > 1) { strPage.Append("<span>…</span>"); } //拼接中间部分页码 if (currDuan != totalDuan) { for (int i = (currDuan - 1) * showPageCount + 1; i < currDuan * showPageCount + 1; i++) { if (pageNo == i) strPage.Append("<span class=\"current\">" + i + "</span>"); else strPage.Append("<a href=\"News.aspx?pageNo=" + i + parameters + "\">" + i + "</a>"); } } else { for (int i = (currDuan - 1) * showPageCount + 1; i < totalPageNo + 1; i++) { if (pageNo == i) strPage.Append("<span class=\"current\">" + i + "</span>"); else strPage.Append("<a href=\"News.aspx?pageNo=" + i + parameters + "\">" + i + "</a>"); } } //判断右边是否添加省略号 if (currDuan < totalDuan) { strPage.Append("<span>…</span>"); } } } #endregion #region 拼接下一页和尾页 if (pageNo == totalPageNo) strPage.Append("<a class=\"disabled\">下一页</a><a class=\"disabled\">尾页</a>"); else strPage.Append("<a href=\"News.aspx?pageNo=" + (pageNo + 1) + parameters + "\">下一页</a><a href=\"News.aspx?pageNo=" + totalPageNo + parameters + "\">尾页</a>"); #endregion strPage.Append("</div>"); return strPage.ToString(); }
样式部分:
<style type="text/css"> .pageBox{ margin:20px 0; text-align:center;} .pageBox a{ margin:0 5px; border:1px solid #DDD; padding:5px 10px;} .pageBox a.disabled{ background:#EEE;} .pageBox span.current{ color:#FF0000;} .pageBox span{ margin:0 5px; border:1px solid #DDD; padding:5px 10px;} </style>
0 0
- 生成分页代码
- 生成分页代码,前台用bootstrap
- ASP.NET生成静态页面和分页代码
- 多条件查询代码(同时生成分页转向url)
- ASP.NET静态页面生成代码及分页
- 今天写的一个.net生成Html分页的代码
- mybatis generator生成带有分页的Mybatis代码
- mybatis 代码生成工具支持oracle mysql 分页
- yii2 使用gii自动生成代码怎么添加分页
- hbase分页代码实现完整版,包括建表,生成数据,分页
- 分页代码
- 分页代码
- 分页代码
- 分页代码
- 分页代码
- 分页代码
- 分页 代码
- 分页代码
- 通过浏览器直接打开Android应用程序
- leetcode Excel Sheet Column Number
- android 事件的传递与消费
- 使用tmpfs作缓存、临时文件存储加速
- Linux下实现USB口的热插拔
- 生成分页代码
- 欢迎使用CSDN-markdown编辑器
- 设计模式之单例模式(Java)
- 11111
- windows平台下安装python的setuptools工具
- SI与EMI(二)
- iOS GCD实现
- 如何用java 5分钟实现一个最简单的mysql代理服务器?
- 调用系统功能,邮件发送方式,各种文件打开方法-Intent的详解