在做网站没用 JS UI控件时 很实用
用法:
var ps=new PageString(); /*可选参数*/ ps.SetIsEnglish = true;// 是否是英文 (默认:false) ps.SetIsShowText = true;//是否显示分页文字 (默认:true) //ps.TextFormat="" (默认值:《span class=\"pagetext\"》《strong》总共《/strong》:{0} 条 《strong》当前《/strong》:{1}/{2}《/span》) //ps.SetPageIndexName Request["pageIndex"](默认值:"pageIndex") ps.SetIsAjax = false;// (默认值:"false") /*函数参数*/ int total = 10000; int pageSize = 10; int pageIndex = Convert.ToInt32(Request["pageIndex"]); var page = ps.ToString(total, pageSize, pageIndex, "/UI/PageStringTest.aspx"); //获取 page html 输出 Response.Write(page);
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace SyntacticSugar { /// <summary> /// ** 描述:分页类 /// ** 创始时间:2015-5-29 /// ** 修改时间:- /// ** 作者:sunkaixuan public class PageString { /// <summary> /// 是否是英文 (默认:false) /// </summary> public bool SetIsEnglish { get; set; } /// <summary> /// 是否显示分页文字(默认:true) /// </summary> public bool SetIsShowText { get; set; } /// <summary> /// 样式 (默认:"pagination") /// </summary> public string SetClassName { get; set; } /// <summary> /// 分页参数名 (默认:"pageIndex") /// </summary> public string SetPageIndexName { get; set; } /// <summary> /// 是否是异步 同步 href='' 异步 onclick=ajaxPage() (默认:false) /// </summary> public bool SetIsAjax { get; set; } /// <summary> /// 自定义文字 /// string.Format("{0}{1}{2}","总记录数","当前页数","总页数") /// 默认值:《span class=\"pagetext\"》《strong》总共《/strong》:{0} 条 《strong》当前《/strong》:{1}/{2}《/span》 /// </summary> public string SetTextFormat { get; set; } public PageString() { SetIsEnglish = false; SetIsShowText = true; SetTextFormat = "<span class=\"pagetext\"><strong>总共</strong>:{0} 条 <strong>当前</strong>:{1}/{2}</span> "; SetClassName = "pagination"; SetPageIndexName = "pageIndex"; SetIsAjax = false; } /*免费的样式 .pagination .click {cursor:pointer} .pagination a{text-decoration: none;border: 1px solid #AAE;color: #15B;font-size: 13px;border-radius: 2px;} .pagination span{ color:#666;font-size:13px;display: inline-block;border: 1px solid #ccc;padding: 0.2em 0.6em;} .pagination span.pagetext{ border:none} .pagination a:hover{background: #26B;color: #fff;} .pagination a{display: inline-block;padding: 0.2em 0.6em;} .pagination .page_current{background: #26B;color: #fff;border: 1px solid #AAE;margin-right: 5px;} .pagination{margin-top: 20px;} .pagination .current.prev, .pagination .current.next{color: #999;border-color: #999;background: #fff;} * */ /// <summary> /// 分页算法<一>共20页 首页 上一页 1 2 3 4 5 6 7 8 9 10 下一页 末页 /// </summary> /// <param name="total">总记录数</param> /// <param name="pageSize">每页记录数</param> /// <param name="pageIndex">当前页数</param> /// <param name="query_string">Url参数</param> /// <returns></returns> public string ToString(int total, int pageSize, int pageIndex, string query_string) { int allpage = 0; int next = 0; int pre = 0; int startcount = 0; int endcount = 0; StringBuilder pagestr = new StringBuilder(); pageIndex = pageIndex == 0 "<div class=\"{0}\" >", SetClassName); if (pageIndex < 1) { pageIndex = 1; } //计算总页数 if (pageSize != 0) { allpage = (total / pageSize); allpage = ((total % pageSize) != 0 "<span>首页</span> <span>上一页</span>"); } else { pagestr.AppendFormat("<a href=\"{0}pageIndex=1\">首页</a> <a href=\"{0}pageIndex={1}\">上一页</a>", query_string, pre); } //中间页处理,这个增加时间复杂度,减小空间复杂度 for (int i = startcount; i <= endcount; i++) { bool isCurent = pageIndex == i; if (isCurent) { pagestr.Append(" <a class=\"page_current\">" + i + "</a>"); } else { pagestr.Append(" <a href=\"" + query_string + "pageIndex=" + i + "\">" + i + "</a>"); } } if (isLast) { pagestr.Append("<span>下一页</span> <span>末页</span>"); } else { pagestr.Append(" <a href=\"" + query_string + "pageIndex=" + next + "\">下一页</a> <a href=\"" + query_string + "pageIndex=" + allpage + "\">末页</a>"); } pagestr.AppendFormat("</div>"); return ConversionData(pagestr.ToString()); } private string ConversionData(string page) { if (SetIsEnglish) { page= page.Replace("上一页", "Previous").Replace("下一页", "Next").Replace("总共", "total").Replace("当前", "Current").Replace("条", "records").Replace("首页", "First").Replace("末页", "Last"); } if (SetIsAjax) { var matches = Regex.Matches(page, @"href\="".*""",RegexOptions.Singleline); if (matches != null && matches.Count > 0) { foreach (Match m in matches) { page = page.Replace(m.Value, string.Format("class=\"click\" onclick=\"ajaxPage('{0}')\"", Regex.Match(m.Value, string.Format(@"{0}\=(\d+)", SetPageIndexName)).Groups[1].Value)); } } } return page; } } }
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月16日
2024年11月16日
- 第五街的士高《印度激情版》3CD [WAV+CUE][2.4G]
- 三国志8重制版哪个武将智力高 三国志8重制版智力武将排行一览
- 三国志8重制版哪个武将好 三国志8重制版武将排行一览
- 三国志8重制版武将图像怎么保存 三国志8重制版武将图像设置方法
- 何方.1990-我不是那种人【林杰唱片】【WAV+CUE】
- 张惠妹.1999-妹力新世纪2CD【丰华】【WAV+CUE】
- 邓丽欣.2006-FANTASY【金牌大风】【WAV+CUE】
- 饭制《黑神话》蜘蛛四妹手办
- 《燕云十六声》回应跑路:年内公测版本完成95%
- 网友发现国内版《双城之战》第二季有删减:亲亲环节没了!
- 邓丽君2024-《漫步人生路》头版限量编号MQA-UHQCD[WAV+CUE]
- SergeProkofievplaysProkofiev[Dutton][FLAC+CUE]
- 永恒英文金曲精选4《TheBestOfEverlastingFavouritesVol.4》[WAV+CUE]
- 群星《国风超有戏 第9期》[320K/MP3][13.63MB]
- 群星《国风超有戏 第9期》[FLAC/分轨][72.56MB]