zoukankan
html css js c++ java
一个简单的分页控件
using
System;
using
System.Web;
using
System.Web.UI.WebControls;
using
System.Text;
using
System.Drawing;
using
System.Web.UI.HtmlControls;
using
System.Web.UI;
using
System.ComponentModel;
namespace
KuKu
{
/**/
///
<summary>
///
Summary description for KuKuPager.
///
</summary>
public
class
KuKuPager:WebControl
{
//
背景图片
string
_backGroud;
//
页查询参数
string
_pageQurey;
//
首页编号
int
_firstPage
=
1
;
//
总共的记录数目
int
_totalRecord;
//
页面大小
int
_pageSize;
int
_pageIndex;
int
_totalPage;
public
KuKuPager()
{
}
protected
override
void
OnLoad(EventArgs e)
{
_pageIndex
=
_firstPage;
if
(HttpContext.Current.Request.QueryString[_pageQurey]
!=
null
)
{
_pageIndex
=
Convert.ToInt32(HttpContext.Current.Request.QueryString[_pageQurey]);
}
if
(_pageSize
!=
0
)
{
if
(_totalRecord
%
_pageSize
==
0
)
{
_totalPage
=
_totalRecord
/
_pageSize;
}
else
{
_totalPage
=
_totalRecord
/
_pageSize
+
1
;
}
}
}
protected
override
void
Render(HtmlTextWriter writer)
{
string
first
=
"
<font face='webdings'>9</font>
"
;
string
previous
=
"
<font face='webdings'>7</font>
"
;
string
next
=
"
<font face='webdings'>8</font>
"
;
string
last
=
"
<font face='webdings'>:</font>
"
;
StringBuilder sb
=
new
StringBuilder();
sb.Append(
"
<div style='float:left'>
"
);
sb.Append(
"
<font class='t3' style='font-family:Courier New;font-size:12px'>
"
);
if
(PageIndex
==
1
)
{
sb.Append(first
+
"
"
+
previous
+
"
<b>
"
);
}
else
{
sb.Append(
"
<a href='
"
+
BuildNewPageUrl(
this
.FirstPageNum)
+
"
'>
"
+
first
+
"
</a>
"
);
sb.Append(
"
<a href='
"
+
BuildNewPageUrl(
this
.PageIndex
-
1
)
+
"
'>
"
+
previous
+
"
</a> <b>
"
);
}
int
j
=
1
;
if
(PageIndex
-
5
>=
1
)
{
j
=
PageIndex
-
5
;
}
int
k
=
TotalPage;
if
(PageIndex
+
5
<=
TotalPage)
{
k
=
PageIndex
+
5
;
}
if
(j
>
1
)
{
sb.Append(
"
<a href='
"
+
BuildNewPageUrl(
this
.FirstPageNum)
+
"
'>1</a>
"
);
}
for
(
int
i
=
j;i
<
k
+
1
;i
++
)
{
if
(PageIndex
==
i)
{
sb.Append(
"
<span class='t2'>
"
+
i
+
"
</span>
"
);
}
else
{
sb.Append(
"
<a href='
"
+
BuildNewPageUrl(i
-
this
.FirstPageNum
+
1
)
+
"
'>
"
+
i
+
"
</a>
"
);
}
}
if
(TotalPage
>
k)
{
sb.Append(
"
<a href='
"
+
BuildNewPageUrl(
this
.TotalPage)
+
"
'>
"
+
TotalPage
+
"
</a>
"
);
}
if
(PageIndex
==
TotalPage)
{
sb.Append(
"
</b>
"
+
next
+
"
"
+
last);
}
else
{
sb.Append(
"
</b><a href='
"
+
BuildNewPageUrl(
this
.PageIndex
+
1
)
+
"
'>
"
+
next
+
"
</a>
"
);
sb.Append(
"
<a href='
"
+
BuildNewPageUrl(
this
.TotalPage)
+
"
'>
"
+
last
+
"
</a>
"
);
}
sb.Append(
"
</font></div>
"
);
sb.Append(
"
<div style='float:right'>
"
);
sb.Append(
"
[总记录数:<span class='pagerRight'>
"
+
TotalRecord
+
"
</span>]
"
);
sb.Append(
"
[每页:<span class='pagerRight'>
"
+
PageSize
+
"
</span>]
"
);
sb.Append(
"
[总页数:<span class='pagerRight'>
"
+
TotalPage
+
"
</span>]
"
);
sb.Append(
"
[当前为第<span class='pagerRight'>
"
+
PageIndex
+
"
</span>页]</div>
"
);
writer.WriteLine(sb.ToString());
}
/**/
///
<summary>
///
当前页面的路径
///
</summary>
string
BuildNewPageUrl(
int
page)
{
HttpRequest request
=
HttpContext.Current.Request;
//
页面没有参数
if
(request.QueryString.Count
==
0
)
{
return
request.Url.PathAndQuery
+
"
?
"
+
this
.PageQuery
+
"
=
"
+
page;
}
//
如果当前页面没有页面查询参数,说明为第一页
else
if
(request.QueryString[
this
.PageQuery]
==
null
)
{
return
request.Url.PathAndQuery
+
"
&
"
+
this
.PageQuery
+
"
=
"
+
page;
}
else
{
return
request.Url.PathAndQuery.Replace(
this
.PageQuery
+
"
=
"
+
request.QueryString[
this
.PageQuery],
this
.PageQuery
+
"
=
"
+
page.ToString());
}
}
/**/
///
<summary>
///
获取或者设置KuKuPager的背景图片
///
</summary>
public
string
BackGround
{
get
{
return
_backGroud;
}
set
{
_backGroud
=
value;
}
}
/**/
///
<summary>
///
获取或者设置KuKuPager的页查询参数
///
</summary>
public
string
PageQuery
{
get
{
return
_pageQurey;
}
set
{
_pageQurey
=
value;
}
}
/**/
///
<summary>
///
获取或者设置KuKuPager首页编号
///
</summary>
public
int
FirstPageNum
{
get
{
return
_firstPage;
}
set
{
_firstPage
=
value;
}
}
/**/
///
<summary>
///
获取或者设置KuKuPager页面大小
///
</summary>
public
int
PageSize
{
get
{
return
_pageSize;
}
set
{
_pageSize
=
value;
}
}
/**/
///
<summary>
///
获取或者设置KuKuPager总共的记录数目
///
</summary>
public
int
TotalRecord
{
get
{
return
_totalRecord;
}
set
{
_totalRecord
=
value;
}
}
public
int
PageIndex
{
get
{
return
_pageIndex;
}
}
/**/
///
<summary>
///
获取或者设置KuKuPager总页数
///
</summary>
public
int
TotalPage
{
get
{
return
_totalPage;
}
}
}
}
作者:
jillzhang
出处:
http://jillzhang.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
查看全文
相关阅读:
Tomcat version 6.0 only supports J2EE 1.2 ......
Javascript高级编程
Javascript基础编程の变量、对象、数据类型及函数
Javascript基础编程の面向对象编程
Java网络编程のTCP/IP
Java网络编程のOSI
redis整理の持久化机制
redis整理の主从复制
redis整理の安全认证
redis整理の配置
原文地址:https://www.cnblogs.com/jillzhang/p/359600.html
最新文章
Educational Codeforces Round 2 A. Extract Numbers
【转】Android四大基本组件介绍与生命周期
【转】详解抓取网站,模拟登陆,抓取动态网页的原理和实现(Python,C#等)
vs2005环境下编译CEGUI 0.6.0
2012-09-10 23:30 如何解决HtmlAgilityPack得到的InnerText中有残留的script、样式的问题
HtmlAgilityPack 之 HtmlNode类
【转】.Net+MySQL组合开发 乱码篇
【转】细说 Form (表单)
几款代码混淆器(DotFuscator, .NET Reactor, xenocode)
cocos2d-x-lua如何导出自定义类到lua脚本环境
热门文章
C++游戏开发需要阅读的书籍
0808关于RDS如何恢复到本地教程
0807再整理SQL执行流程
0804SHOW ENGINE INNODB STATUS
0802关于mysql数据库的锁机制
0728MySQL数据库InnoDB存储引擎重做日志漫游REDOLOG,UNDOLOG
0726xtrbackup实例详解
0725关于架构
0719show engine innodb status解读
0709MySQL 数据库性能优化之表结构优化
Copyright © 2011-2022 走看看