我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网络编程 > ASP专区 > Asp组件/脚本 > 面向对象的asp编程之七--分页对象(vbscript版)
热门文章排行
热门文章排行 手推车”功能的实现(10-07)
八大法则防范ASP网站漏洞(10-23)
ASP教程十一、调试ASP脚本(10-23)
在JSP中访问数据库大全(10-23)
虚机服务中常见Asp.Net低级错误一览(03-21)
精采文章排行
精采文章排行 ASP.NET实现抓取网页中的链接(11-15)
ASP连接数据库的11种方法(11-10)
如何动态创建网页的RSS内容摘要(11-10)
ASP网站漏洞及入侵防范方法(11-10)
ASP自定义函数:对字符串正则替换(11-10)
技术专题推荐
网管论坛交流
 

面向对象的asp编程之七--分页对象(vbscript版) 

作者:佚名   来源:一亩三分地   点击:   日期:2007-03-28

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
' ************************************************************************
' Script Compont Object Model
' Design for Active Server Pages
'
' Copyright 2004 Version 2.0
' Made by 尹曙光
' ************************************************************************
function CreateCPageNavbar()
set CreateCPageNavbar=new CPageNavbar
end function
Class CPageNavbar
Public SplitSize '分页显示的容量
public PnWidth
public PnAlign
public PlWidth '表格宽度
public PlAlign ' 表格的对齐方式
private PageSize
private RecordCount '总记录数]
private PageCount '总页数
private CurrentPage '当前的页码
private SplitCount '分页的显示的总页数
private CurrentSplit '当前的分页的分页码
'===============================================================
Private Sub Class_Initialize ' Setup Initialize event.
SplitSize=10
PnWidth="100%"
PnAlign="right"
PlWidth="100%" //表格宽度
PlAlign="right" // 表格的对齐方式
PageSize=0
RecordCount=0
CurrentPage=1
PageCount=1
SplitCount=1
CurrentSplit=1
End Sub
Private Sub Class_Terminate ' Setup Terminate event.
End Sub

public sub InitPageNavbar(byval iPageSize,byval iRecordCount)
PageSize=cint(iPageSize)
RecordCount=clng(iRecordCount)
PageCount=fix(RecordCount/PageSize)+1
SplitCount=fix(PageCount/SplitSize)+1
end sub

public function GetCurrentPage()
'on error resume next
dim pageNo
pageNo =trim(Request.QueryString ("_Page_No_"))
'如果没有选择第几页,则默认显示第一页;
if ( (not IsNumeric(pageNo)) or pageNo="") then
pageNo =1
end if
CurrentPage=clng(pageNo)
if (CurrentPage<1) then
CurrentPage=1
end if
if (CurrentPage>PageCount) then
CurrentPage=PageCount
end if
CurrentSplit=fix(CurrentPage/SplitSize)+1
GetCurrentPage=CurrentPage
end function

public function plDisplay()
dim strBuilder,p,itmp
strBuilder=""
'首组为第0族
strBuilder=strBuilder+"<table border='0' cellpadding='0' cellspacing='0' "
strBuilder=strBuilder+" width='"&PlWidth&"' align='"&PlAlign&"'>"
strBuilder=strBuilder+" <tr> "
strBuilder=strBuilder+" <td valign='middle' align='right'>分页:"
if (CurrentSplit=1) then
strBuilder=strBuilder+"<font face='webdings' color='#ff0000'>9</font> "
strBuilder=strBuilder+"<font face='webdings' color='#ff0000'>7</font>"
else
strBuilder=strBuilder+"<a href='?_Page_No_=1' title='首页'><font face='webdings'>9</font></a> "
strBuilder=strBuilder+"<a href='?_Page_No_="&cstr((CurrentSplit-2)*SplitSize)&"' title='上"&cstr(SplitSize)&"页'><font face='webdings'>7</font></a> "
end if
strBuilder=strBuilder+"<b>"
'分页列表
itmp=(CurrentSplit-1)*SplitSize+1
for i=itmp to (itmp+SplitSize-1)
if (i=CurrentPage) then
strBuilder=strBuilder+"<font color='#000000'>"&cstr(i)&"</font> "
else
strBuilder=strBuilder+"<a href=?_Page_No_="&cstr(i)&" title='转到: 第"&cstr(i)&"页'>"&cstr(i)&"</a> "
end if
if (i>=PageCount) then
exit for
end if
next
strBuilder=strBuilder+"</b>"
'显示下十页
if (CurrentSplit<SplitCount) then
strBuilder=strBuilder+"<a href='?_Page_No_="&cstr((CurrentSplit)*SplitSize)&"' title='下十页'><font face='webdings'>8</font></a> "
strBuilder=strBuilder+"<a href=?_Page_No_="&cstr(PageCount)&" title='尾页'><font face='webdings'>:</font></a> "
else
strBuilder=strBuilder+"<font face='webdings' color='#ff0000'>8</font>"
strBuilder=strBuilder+"<font face='webdings' color='#ff0000'>:</font>"
end if
strBuilder=strBuilder+"</td></tr></table>"
Response.Write(strBuilder)
end function

public function pnDisplay()
dim strBuilder,nextPageNo
strBuilder=""
strBuilder=strBuilder+"<table border='0' cellpadding='0' cellspacing='0' "
strBuilder=strBuilder+" width='"&PnWidth&"' align='"&PnAlign&"'>"
strBuilder=strBuilder+"<tr>"
strBuilder=strBuilder+"<td valign='middle'>页次:[<b>"&cstr(CurrentPage)&"</b>/<b>"&cstr(PageCount)&"</b>]页 每页[<b>"&cstr(PageSize)&"</b>]条 总记录数:[<b>"&cstr(RecordCount)&"</b>]条</td>"
strBuilder=strBuilder+"<td align='right'>"
if (cint(CurrentPage)>1) then
nextPageNo=cint(CurrentPage)-1
strBuilder=strBuilder+"[<a href=?_Page_No_="&cstr(nextPageNo)&" title='转到上一页'>上一页</a>]"
end if
if (cint(CurrentPage)<cint(PageCount)) then
nextPageNo=cint(CurrentPage)+1
strBuilder=strBuilder+"[<a href=?_Page_No_="&cstr(nextPageNo)&" title='转到下一页'>下一页</a>]"
end if
strBuilder=strBuilder+"</td></tr></table>"
Response.Write(strBuilder)
end function
End Class

</SCRIPT>




文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·ASP中巧用Response属性 ·第六课:ASP脚本循环语句
·在 Web 页上使用条件数值格式 ·连接数据库查询手册(不仅仅适用于asp)
·警惕"给你的FileSystemObject对象加把锁" ·用ASP做全文检索

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。