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();
}
}
}
查看全文
相关阅读:
.net从网络接口地址获取json,然后解析成对象(一)
.net获取本地ip地址
.net上传文件,利用npoi读取文件信息到datatable里
.net利用NPOI生成excel文件
.NET获取城市信息(将三字代码转换成城市名)
JS下拉页面时一个横幅的样式和js
整数中1出现的次数(1~n)
连续子数组的最大和
最小的K个数
数组中出现次数超过一半的数字
原文地址:https://www.cnblogs.com/yangbin1005/p/1156978.html
最新文章
设备驱动中最难的部分
重定位
Linux串口设置命令
binder的工作流程
linux 设备树删除不想要的节点
查看驱动的相关log
【2】设计模式(工产模式+python代码)
【1】python(垃圾回收机制)
【1】http详解
(四)linux性能分析命令总结
热门文章
(二)mongodb (基础理解)
(三)c语言之typedef 与 struct详细用法
【12】算法(遍历二叉树+代码详解)
【11】算法排序 (归并排序)
【10】算法排序 (堆排序)
【9】算法排序 (选择排序)
新学到的一些小知识点(一)
.net判断当前时间是否在工作时间段内
js中将斜杠替换的方法
.net从网络接口地址获取json,然后解析成对象(二)
Copyright © 2011-2022 走看看