- 热门文章:
- · 跟我学做在线调查(四)
- · 跟我学做在线调查(三)
- · 跟我学做在线调查(二)
- · 跟我学做在线调查(一)
- · 跟我学做树型菜单(四)
- · 跟我学做树型菜单(三)
- · 跟我学做树型菜单(二)
- · 跟我学做树型菜单(一)
- · ASP漏洞大全
- · 2yup漂流祈愿瓶大家一齐做(四)
- · 2yup漂流祈愿瓶大家一齐做(三)
- · 2yup漂流祈愿瓶大家一齐做(二)
上一篇:开放源码 - 访客统计查询(一) >>
一个分页的类
‘’-------------------------------------------
‘’ 接口:
‘’ 属性:
‘’ a、tip:项目提示(如,“篇文章”);
‘’ b、tablewidth:跳转页导航宽度
‘’ 方法:
‘’ a、SetRsObj()方法:设置ADODB.RECORDSET对象;
‘’ b、ControlPages()方法:显示跳转页导航(“上一页”、“下一页”……)
‘’ c、SetParams()方法:设置参数数组
‘’ 范例:
‘’ dim params(1,1)
‘’ params(0,0) = "query" : params(0,1) = request("query")
‘’ params(1,0) = "keyword" : params(1,1) = request("keyword")
‘’ 该数组主要传递查询关键字(如字段关键字、时间等),第一维是参数名称,第二维是参数值:如下http://…….asp?topage=2&query=yes&keyword=a
‘’
‘’ set PageCtrl = new CPageCtrl
‘’ PageCtrl.SetRsObj (RS) ‘’设置ADODB.RECORDSET对象,其中RS是已建立好的ADODB.RECORDSET,即所要控制的记录集
‘’ PageCtrl.tip = "篇文章"
‘’ PageCtrl.tablewidth = "100%"
‘’ PageCtrl.SetParams params
‘’ PageCtrl.DimPage (15) ‘’分页定义,每页15条记录
‘’ PageCtrl.ControlPages() ‘’显示跳转页导航
‘’-------------------------------------------
class CPageCtrl
public tip, tablewidth
private setobjflag, rsobj, pages, record, setparamsflag, current, topage
dim params()
‘’----------------------------------
private sub class_initialize()
tablewidth = "100%"
end sub
‘’---------------------------------
public function SetRsObj(obj)
set rsobj = obj
setobjflage = true
end function
‘’----------------------------------
private function chksetobj()
if setobjflage <> true then response.End()
end function
‘’----------------------------------
public function DimPage(psize) ‘’分页定义
dim topages
topage = request("topage")
if not rsobj.eof then
if not isempty(psize) then
rsobj.pagesize = cint(psize) ‘’定义每页显示数目
else
rsobj.pagesize = rsobj.recordcount
end if
pages = rsobj.pagecount
record = rsobj.recordcount
if topage <> empty then
topages = CInt(topage)
if topage <= 1 then
rsobj.absolutepage = 1
elseif topages >= pages then
rsobj.absolutepage = pages
else
rsobj.absolutepage = topages
end if
end if
current = rsobj.absolutepage
end if
end function
‘’----------------------------------
public function SetParams(arrParams())
params = arrParams
setparamsflag = true
end function
‘’----------------------------------
public function controlpages()
dim url
url = "http://" & request.ServerVariables("HTTP_HOST") & request.ServerVariables("URL")
if setparamsflag = true then
row = ubound(params,1)
col = ubound(params,2)
if col <> 1 then
exit function
end if
for i = 0 to row
if params(i,0) <> empty then
condition = condition & "&" & params(i,0) & "=" & params(i,1)
‘’生成参数
end if
next
end if
response.write "<table width=‘’" & tablewidth & "‘’ border=‘’0‘’ cellspacing=‘’0‘’ cellpadding=‘’0‘’>"
response.write "<form action=‘’" & url & "‘’ method=‘’post‘’>"
response.write "<tr> "
response.write "<td height=‘’20‘’> 目前共有 <font color=‘’red‘’><b>" & record & "</b></font> "& tip & " 当前分页状况 <font color=‘’red‘’><b>" & current & "/" & pages & "</b></font></td>"
if current <> 1 then
response.write "<td width=‘’40‘’ align=‘’center‘’ height=‘’20‘’>"
response.write "<a href=‘’" & url & "?topage=1" & condition & "‘’>首 页</a>"
response.write "</td>"
response.write "<td width=‘’44‘’ align=‘’center‘’ height=‘’20‘’>"
response.write "<a href=‘’" & url & "?topage=" & current-1 & condition & "‘’>上一页</a>"
response.write "</td>"
else
response.write "<td width=‘’40‘’ align=‘’center‘’ height=‘’20‘’>"
response.write "<font color=‘’#999999‘’>首 页</font>"
response.write "</td>"
response.write "<td width=‘’44‘’ align=‘’center‘’ height=‘’20‘’>"
response.write "<font color=‘’#999999‘’>上一页</font>"
response.write "</td>"
end if
if current <> pages then
response.write "<td width=‘’44‘’ align=‘’center‘’ height=‘’20‘’>"
response.write "<a href=‘’" & url & "?topage=" & current+1 & condition & "‘’>下一页</a>"
response.write "</td>"
response.write "<td width=‘’40‘’ align=‘’center‘’ height=‘’20‘’>"
response.write "<a href=‘’" & url & "?topage=" & pages & condition & "‘’>尾 页</a>"
response.write "</td>"
else
response.write "<td width=‘’44‘’ align=‘’center‘’ height=‘’20‘’>"
response.write "<font color=‘’#999999‘’>下一页</font>"
response.write "</td>"
response.write "<td width=‘’40‘’ align=‘’center‘’ height=‘’20‘’>"
response.write "<font color=‘’#999999‘’>尾 页</font>"
response.write "</td>"
end if
response.write "<td>"
response.write "<input type=‘’text‘’ name=‘’topage‘’ size=‘’4‘’ style=‘’BACKGROUND-COLOR: #ffffff; BORDER-BOTTOM: #a0a0a0 1px solid; BORDER-LEFT: #a0a0a0 1px solid; BORDER-RIGHT: #a0a0a0 1px solid; BORDER-TOP: #a0a0a0 1px solid; FONT-SIZE: 12px‘’>"
response.write "</td>"
response.write "</tr>"
response.write "</form>"
response.write "</table>"
end function
end class
%>
下一篇:跟我学做在线调查(四) >>
相关文章:
- · 2yup漂流祈愿瓶大家一齐做(一)
- · 化境ASP无组件上传类 - upload_5xsoft 使用手册 1.0
- · 不用编程,得到一个用户QQ在线状态
- · 跟我学做留言本(三)
- · 跟我学做留言本(一)
- · 取得浏览者的离开时间
- · 万年历原程序
- · 傻瓜型的分页实现
- · ASP无组件上传·从原理剖析到实践(下)
- · ASP无组件上传·从原理剖析到实践(中)
- · ASP无组件上传·从原理剖析到实践(上)
- · ASP编写的一个简单的颜色吸取器
- · 一个关于日期选择的很实用的小东西
- · 用Asp隐藏文件路径,实现防盗链
- · 利用@字符实现二级域名系统
- · 一个asp无组件上传的实例
- · 最短的无组件上传代码(仅9行)
- · 6行代码实现无组件上传
- · 一个asp无组件上传的实例
- · 计算文件下载时间
- · 无组件文件上传源代码
- · ASP + Serv-u 实现FTP的代码
- · ASP 中 Split 函数的实例
- · 如何在生成的静态页面中显示文章被阅读的次数
- · 用通ASP直接获取用户真实IP地址
- · 用ASP编写计数器的优化方法
- · 创建一个ASP通用分页类(二)代码部分
- · 创建一个ASP分页类(一)文章部分
- · 利用stream直接下载文件
- · 无组件实现文件上传/下载
- · 一个统计当前在线用户的解决方案
- · 用ASP编写计数器的优化方法
- · 轻松搭建网络办公平台:71BASE-OFFICE网络办公系统v1.3
- · 硬盘文件搜索代码(ASP类)
- · aspTemplate : 类似 phpLib::Template 的分离层实现(续)
- · aspTemplate : 类似 phpLib::Template 的分离层实现
- · 利用B/S网络安装客户端实现自动分发系统的原理及方法
- · 如何使用ASP产生象安装向导的主页
