public static string ShowMyPageBar(int pageIndex, int pageCount)
{
int step = 4;//分页点击位
if (pageCount == 1) {
return string.Empty;//无页即取消
}
StringBuilder sb = new StringBuilder();
int start = pageIndex - step; //起始位,除首尾两项,左右4个点击位
if (start < 1) {
start = 1;
}
int end = start + step * 2;
if (end > pageCount) {
end = pageCount;
}
if (pageIndex+step>pageCount) { //如果到了尾页,保持点击位数量
step = step - (pageCount-pageIndex);
start = start - step;
if (start < 1) {
start = 1;
}
}
//首页
if (start>1) {
sb.Append("<a href='?pageIndex=1'>1</a>");
if (start - 1 > 1) { //更多页未能显示,则用分隔符
sb.Append("<span>...</span>");
}
}
//遍历页
for (int i = start; i <= end; i++) {
if(i==pageIndex) {
sb.Append("<a style='color:red'>" + i + "</a>"); //当前即,单设样式
}
else {
sb.Append(string.Format("<a href='?pageIndex={0}'>{0}</a>", i));
}
}
//尾页
if(end<pageCount) {
if(end+1<pageCount-1) { //多出页分隔
sb.Append("<span>...</span>");
}
sb.Append(string.Format("<a href='?pageIndex={0}'>{0}</a>", pageCount));
}
return sb.ToString();
}
} //若有不妥之处,自行修改
Asp.net 简单分页
最新推荐文章于 2020-03-17 23:19:35 发布