源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#页码导航显示及算法实现代码

  • 时间:2020-08-24 15:33 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#页码导航显示及算法实现代码
页码导航,先看显示效果: [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100147_0_23556.jpg[/img] [b]算法要求[/b]: 1、页数小于等于1时不显示; 2、页数大于10时,自动缩短。 具体代码如下:
[u]复制代码[/u] 代码如下:
/// <summary> /// 获取分页导航 /// </summary> /// <param name="intPageIndex">页码</param> /// <param name="intPageCount">页数</param> /// <param name="strUrl">链接</param> /// <returns>HTML代码</returns> private string GePageNavgation(int intPageIndex, int intPageCount, string strUrl) { StringBuilder sb = new StringBuilder("<div class="div_pagenavgation">"); if (intPageCount > 1) { //页码显示 if (intPageIndex == 1) { sb.Append("<span class="disabled"> < 上一页</span>"); } else if (intPageIndex > 1) { sb.Append("<a href="" + strUrl + (intPageIndex - 1).ToString() + "">< 上一页</a>"); } bool Dot1 = false, Dot2 = false; for (int i = 1; i <= intPageCount; i++) { if (i == intPageIndex) { sb.Append("<span class="current">" + intPageIndex.ToString() + "</span>"); continue; } if (i <= 3) { sb.Append("<a href="" + strUrl + i.ToString() + "">" + i.ToString() + "</a>"); continue; } if (intPageIndex > 7) { if (!Dot1) { sb.Append("<span class="dotted">...</span>"); Dot1 = true; } } if (i == intPageIndex - 3) { sb.Append("<a href="" + strUrl + i.ToString() + "">" + i.ToString() + "</a>"); continue; } if (i == intPageIndex - 2) { sb.Append("<a href="" + strUrl + i.ToString() + "">" + i.ToString() + "</a>"); continue; } if (i == intPageIndex - 1) { sb.Append("<a href="" + strUrl + i.ToString() + "">" + i.ToString() + "</a>"); continue; } if (i == intPageIndex + 1) { sb.Append("<a href="" + strUrl + i.ToString() + "">" + i.ToString() + "</a>"); continue; } if (i == intPageIndex + 2) { sb.Append("<a href="" + strUrl + i.ToString() + "">" + i.ToString() + "</a>"); continue; } if (i == intPageIndex + 3) { sb.Append("<a href="" + strUrl + i.ToString() + "">" + i.ToString() + "</a>"); continue; } if ((intPageCount - intPageIndex) > 6 && i > intPageIndex + 3) { if (!Dot2) { sb.Append("<span class="dotted">...</span>"); Dot2 = true; } } if (i > intPageCount - 3) { sb.Append("<a href="" + strUrl + i.ToString() + "">" + i.ToString() + "</a>"); continue; } } if (intPageIndex == intPageCount) { sb.Append("<span class="disabled">下一页 ></span>"); } else if (intPageIndex + 1 <= intPageCount) { sb.Append("<a href="" + strUrl + (intPageIndex + 1).ToString() + "">下一页 ></a>"); } } sb.Append("</div>"); return sb.ToString(); }
CSS样式:
[u]复制代码[/u] 代码如下:
.div_pagenavgation{ margin-top:5px; line-height:20px; float:right; } .div_pagenavgation a{ float:left; text-decoration:none; color:#06F; margin-left:5px; padding-left:5px; padding-right:5px; height:20px; text-align:center; display:block; border:1px #CCC solid; } .div_pagenavgation .dotted{ float:left; } .div_pagenavgation .current{ float:left; margin-left:5px; padding-left:5px; padding-right:5px; height:20px; text-align:center; display:block; border:1px #CCC solid ; background-color:#0080C0; color:#FFF; } .div_pagenavgation .disabled{ float:left; margin-left:5px; padding-left:5px; padding-right:5px; height:20px; text-align:center; display:block; border:1px #CCC solid; color:#CCC; }
产生的HTML如下:
[u]复制代码[/u] 代码如下:
<div class="div_pagenavgation"> <a href="?m=log&page=11">< 上一页</a> <a href="?m=log&page=1">1</a> <a href="?m=log&page=2">2</a> <a href="?m=log&page=3">3</a> <span class="dotted">...</span> <a href="?m=log&page=9">9</a> <a href="?m=log&page=10">10</a> <a href="?m=log&page=11">11</a> <span class="current">12</span> <a href="?m=log&page=13">13</a> <a href="?m=log&page=14">14</a> <a href="?m=log&page=15">15</a> <span class="dotted">...</span> <a href="?m=log&page=27">27</a> <a href="?m=log&page=28">28</a> <a href="?m=log&page=29">29</a> <a href="?m=log&page=13">下一页 ></a> </div>
[b]说明[/b]:很久前赶工完成,基本能够实现要求,没有经过仔细优化,谁优化了再回复看看!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部