zoukankan
html css js c++ java
分页按钮逻辑
using
System;
using
System.Text;
using
System.Collections;
namespace
Qifan.Common
{
public
class
SplitPage
{
/**/
///
<summary>
///
获取用于显示分页情况的字符串
///
</summary>
///
<param name="pageIndex">
当前页
</param>
///
<param name="pageSize">
每页数
</param>
///
<param name="recordCount">
记录总数
</param>
///
<param name="urlFormat">
urlFormat 表示页码地址,其中 “$” 将被替换成页码
</param>
///
<param name="mode">
分页方式
</param>
///
<returns>
返回 string 类型,表示分页情况
</returns>
public
static
string
GetPageSet(
int
pageIndex,
int
pageSize,
int
recordCount,
string
urlFormat,
int
mode)
{
//
urlFormat 该参数接收链接地址的URL 例如:
http://www.yangstudio.cn/show.aspx?page=
$,该方法会将$符号转换成页码
string
pageSet;
switch
(mode)
{
case
0
:
pageSet
=
GetPageSet0(pageIndex, pageSize, recordCount, urlFormat);
break
;
case
1
:
pageSet
=
GetPageSet1(pageIndex, pageSize, recordCount, urlFormat);
break
;
default
:
pageSet
=
GetPageSet0(pageIndex, pageSize, recordCount, urlFormat);
break
;
}
return
pageSet;
}
private
static
string
GetPageSet0(
int
pageIndex,
int
pageSize,
int
recordCount,
string
urlFormat)
{
int
pageCount;
pageCount
=
recordCount
%
pageSize
==
0
?
recordCount
/
pageSize : recordCount
/
pageSize
+
1
;
if
(pageIndex
<
1
)
{
pageIndex
=
1
;
}
if
(pageIndex
>
pageCount)
{
pageIndex
=
pageCount;
}
string
[] urlFormatAry
=
urlFormat.Split(
'
$
'
);
StringBuilder pageSet
=
new
StringBuilder(
800
);
pageSet.Append(
"
共
"
+
recordCount
+
"
条 |
"
);
pageSet.Append(
"
每页
"
+
pageSize
+
"
条 |
"
);
pageSet.Append(
"
此为
"
+
pageIndex
+
"
/
"
+
pageCount
+
"
页 |
"
);
if
(pageIndex
<=
1
)
{
pageSet.Append(
"
首页 | 上页 |
"
);
}
else
{
pageSet.Append(
"
<a href=\
""
+ urlFormatAry[0] +
"
1
"
+ urlFormatAry[1] +
"
\
"
>首页</a> |
"
);
pageSet.Append(
"
<a href=\
""
+ urlFormatAry[0] + (pageIndex - 1).ToString() + urlFormatAry[1] +
"
\
"
>上页</a> |
"
);
}
if
(pageIndex
>=
pageCount)
{
pageSet.Append(
"
下页 | 尾页 |
"
);
}
else
{
pageSet.Append(
"
<a href=\
""
+ urlFormatAry[0] + (pageIndex + 1).ToString() + urlFormatAry[1] +
"
\
"
>下页</a> |
"
);
pageSet.Append(
"
<a href=\
""
+ urlFormatAry[0] + pageCount.ToString() + urlFormatAry[1] +
"
\
"
>尾页</a> |
"
);
}
pageSet.Append(
"
转到 <input id=\
"
Paging_PageIndex_Text\
"
name=\
"
Paging_PageIndex_Text\
"
type=\
"
text\
"
value=\
""
+ pageIndex +
"
\
"
maxlength=\
"
10
\
"
size=\
"
3
\
"
/> 页
"
);
pageSet.Append(
"
<input id=\
"
Paging_PageIndex_Button\
"
name=\
"
Paging_PageIndex_Button\
"
type=\
"
button\
"
value=\
"
GO\
"
onclick=\
"
javascript: document.location.href
=
'
" + urlFormatAry[0] + "
'
+
document.getElementById(
'
Paging_PageIndex_Text
'
).value
+
'
" + urlFormatAry[1] + "
'
;\
"
/>
"
);
return
pageSet.ToString();
}
private
static
string
GetPageSet1(
int
pageIndex,
int
pageSize,
int
recordCount,
string
urlFormat)
{
int
pageCount, groupNum, pageNum, startPageNum, endPageNum;
pageCount
=
recordCount
%
pageSize
==
0
?
recordCount
/
pageSize : recordCount
/
pageSize
+
1
;
if
(pageIndex
<
1
)
{
pageIndex
=
1
;
}
if
(pageIndex
>
pageCount)
{
pageIndex
=
pageCount;
}
groupNum
=
8
;
pageNum
=
pageIndex
%
groupNum
==
0
?
pageIndex
/
groupNum : pageIndex
/
groupNum
+
1
;
startPageNum
=
pageNum
*
groupNum
-
(groupNum
-
1
);
endPageNum
=
pageNum
*
groupNum;
if
(pageCount
<
endPageNum)
{
endPageNum
=
pageCount;
}
string
[] urlFormatAry
=
urlFormat.Split(
'
$
'
);
StringBuilder pageSet
=
new
StringBuilder(
800
);
pageSet.Append(
"
<ul id=\
"
pageSet\
"
>
"
);
//
左侧箭头
if
(startPageNum
>
groupNum)
{
pageSet.Append(
"
<li><a href=\
""
+ urlFormatAry[0] + (pageIndex - groupNum).ToString() + urlFormatAry[1] +
"
\
"
><<</a></li>
"
);
}
if
(pageIndex
>
1
)
{
pageSet.Append(
"
<li><a href=\
""
+ urlFormatAry[0] + (pageIndex - 1).ToString() + urlFormatAry[1] +
"
\
"
><</a></li>
"
);
}
//
中间数字
for
(
int
i
=
startPageNum; i
<=
endPageNum; i
++
)
{
if
(pageIndex
==
i)
{
pageSet.Append(
"
<li class=\
"
CurrentPage\
"
><a class=\
"
selected\
"
>
"
+
i
+
"
</a></li>
"
);
}
else
{
pageSet.Append(
"
<li><a href=\
""
+ urlFormatAry[0] + i.ToString() + urlFormatAry[1] +
"
\
"
>
"
+
i
+
"
</a></li>
"
);
}
}
//
右侧箭头
if
(pageIndex
<
pageCount)
{
pageSet.Append(
"
<li><a href=\
""
+ urlFormatAry[0] + (pageIndex + 1).ToString() + urlFormatAry[1] +
"
\
"
>></a></li>
"
);
}
if
(endPageNum
<
pageCount)
{
pageSet.Append(
"
<li><a href=\
""
+ urlFormatAry[0] + (pageIndex + groupNum).ToString() + urlFormatAry[1] +
"
\
"
>>></a></li>
"
);
}
pageSet.Append(
"
</ul>
"
);
return
pageSet.ToString();
}
}
}
查看全文
相关阅读:
防止重复点击
刷新当前页面的几种方法
PHP删除数组中空值
json转化数组
两个不能同时共存的条件orWhere查询
SQLSTATE[42000]
laravel一个页面两个表格分页处理
Hash::make与Hash::check
unbind()清除指定元素绑定效果
二级联动
原文地址:https://www.cnblogs.com/yangbin1005/p/1156978.html
最新文章
P1880 [NOI1995]石子合并 区间dp+拆环成链
P1280 尼克的任务 dp
P1091 合唱队形 最长上升子序列
P1020 导弹拦截
P1064 金明的预算方案
Educational Codeforces Round 53 (Rated for Div. 2) D. Berland Fair
Educational Codeforces Round 53 (Rated for Div. 2) C. Vasya and Robot
吉哥系列故事――恨7不成妻 HDU
Balanced Number HDU
The Unique MST POJ
热门文章
bzoj2120: 数颜色 带修莫队
bzoj2038: [2009国家集训队]小Z的袜子(hose) 莫队
圆和多边形面积交模板
bzoj1143: [CTSC2008]祭祀river 最长反链
bzoj1179: [Apio2009]Atm scc缩点+dag上dp
bzoj1058: [ZJOI2007]报表统计 stl xjbg
bzoj3669: [Noi2014]魔法森林 lct
bzoj2002: [Hnoi2010]Bounce 弹飞绵羊 lct
bzoj2049: [Sdoi2008]Cave 洞穴勘测 lct裸题
bzoj1054: [HAOI2008]移动玩具 状压+爆搜即可
Copyright © 2011-2022 走看看