首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

 711网络 网页编程ASP代码

ASP经典分页类

来源: 互联网    日期:2007-1-13 15:09:08
 
'XDOWNPAGE ASP版本
    '版本1.00
    'Code by zykj2000
    'Email:zykj_2000@163.net
    'BBS:http://bbs.513soft.net
    '本程序可以免费使用、修改,希望我的程序能为您的工作带来方便
    '但请保留以上请息
    '
    '程序特点
    '本程序主要是对数据分页的部分进行了封装,而数据显示部份完全由用户自定义,
    '支持URL多个参数
    '
    '使用说明
    '程序参数说明
    'PapgeSize 定义分页每一页的记录数
    'GetRS 返回经过分页的Recordset此属性只读
    'GetConn 得到数据库连接
    'GetSQL 得到查询语句
    '程序方法说明
    'ShowPage 显示分页导航条,唯一的公用方法
    '
    '例:
    '处理 SSI 文件时出错
    
    '处理 SSI 文件时出错
    '包含文件
    '
    'Set mypage=new xdownpage '创建对象
    ' mypage.getconn=conn '得到数据库连接
    ' mypage.getsql="select * from productinfo order by id asc"
    ' mypage.pagesize=5 '设置每一页的记录条数据为5条
    ' set rs=mypage.getrs() '返回Recordset
    ' mypage.showpage() '显示分页信息,这个方法可以,在set rs=mypage.getrs()以后
    ' 任意位置调用,可以调用多次
    ' for i=1 to mypage.pagesize '接下来的操作就和操作一个普通Recordset对象一样操作
    ' if not rs.eof then '这个标记是为了防止最后一页的溢出
    ' response.write rs(0) & "
    " '这里就可以自定义显示方式了
    ' rs.movenext
    ' else
    ' exit for
    ' end if
    ' next
    '
    '=====================================================================
    Const Btn_First="<FONT face=webdings>9</FONT>" '定义第一页按钮显示样式
    Const Btn_Prev="<FONT face=webdings>3</FONT>" '定义前一页按钮显示样式
    Const Btn_Next="<FONT face=webdings>4</FONT>" '定义按钮显示样式
    Const Btn_Last="<FONT face=webdings>:</FONT>" '定义最后一页按钮显示样式
    Const XD_Align="center" '定义分页信息对齐方式
    Const XD_Width="100%" '定义分页信息框大小
    Const XD_Height="20"
    Class Xdownpage
    Private XD_PageCount,XD_Conn,XD_Rs,XD_SQL,XD_PageSize,Str_errors,int_curpage,str_URL,int_totalPage,int_totalRecord
    
    '=================================================================
    'PageSize 属性
    '设置每一页的分页大小
    '=================================================================
    Public Property Let PageSize(int_PageSize)
    If IsNumeric(Int_Pagesize) Then
    XD_PageSize=CLng(int_PageSize)
    Else
    str_error=str_error &amp; "PageSize的参数不正确"
    ShowError()
    End If
    End Property
    Public Property Get PageSize
    If XD_PageSize="" or (not(IsNumeric(XD_PageSize))) Then
    PageSize=10
    Else
    PageSize=XD_PageSize
    End If
    End Property
    
    '=================================================================
    'GetRS 属性
    '返回分页后的记录集
    '=================================================================
    Public Property Get GetRs()
    Set XD_Rs=Server.createobject("adodb.recordset")
    XD_Rs.PageSize=PageSize
    XD_Rs.Open XD_SQL,XD_Conn,1,1
    If not(XD_Rs.eof and XD_RS.BOF) Then
    If int_curpage>XD_RS.PageCount Then
    int_curpage=XD_RS.PageCount
    End If
    XD_Rs.AbsolutePage=int_curpage
    End If
    Set GetRs=XD_RS
    End Property
    
    '================================================================
    'GetConn 得到数据库连接
    '
    '================================================================
    Public Property Let GetConn(obj_Conn)
    Set XD_Conn=obj_Conn
    End Property
    
    '================================================================
    'GetSQL 得到查询语句
    '
    '================================================================
    Public Property Let GetSQL(str_sql)
    XD_SQL=str_sql
    End Property
    
    
    
    '==================================================================
    'Class_Initialize 类的初始化
    '初始化当前页的值
    '
    '==================================================================
    Private Sub Class_Initialize
    '========================
    '设定一些参数的黙认值
    '========================
    XD_PageSize=10 '设定分页的默认值为10
    '========================
    '获取当前面的值
    '========================
    If request("page")="" Then
    int_curpage=1
    ElseIf not(IsNumeric(request("page"))) Then
    int_curpage=1
    ElseIf CInt(Trim(request("page")))<1 Then
    int_curpage=1
    Else
    Int_curpage=CInt(Trim(request("page")))
    End If
    
    End Sub
    
    '====================================================================
    'ShowPage 创建分页导航条
    '有首页、前一页、、末页、还有数字导航
    '
    '====================================================================
    Public Sub ShowPage()
    Dim str_tmp
    
    int_totalRecord=XD_RS.RecordCount
    If int_totalRecord<=0 Then
    str_error=str_error &amp; "总记录数为零,请输入数据"
    Call ShowError()
    End If
    If int_totalRecord<PAGESIZE Then
    int_TotalPage=1
    Else
    If int_totalRecord mod PageSize =0 Then
    int_TotalPage = Int(int_TotalRecord / XD_PageSize * -1)*-1
    Else
    int_TotalPage = Int((int_TotalRecord / XD_PageSize * -1)*-1)+1
    End If
    End If
    
    If Int_curpage>int_Totalpage Then
    int_curpage=int_TotalPage
    End If
    
    '===============================================================================
    '显示分页信息,各个模块根据自己要求更改显求位置
    '===============================================================================
    response.write "<TABLE width=&amp;XD_Width&amp; border=0><TBODY><TR><FORM><TD align=&amp;XD_Align&amp; height=&amp;XD_Height&amp;>"
    str_tmp=ShowFirstPrv
    response.write str_tmp
    str_tmp=showNumBtn
    response.write str_tmp
    str_tmp=ShowNextLast
    response.write str_tmp
    str_tmp=ShowPageInfo
    response.write str_tmp
    'Response.write "</TD><TD>"
    ShowGoto
    response.write "</TD></FORM></TR></TBODY></TABLE>"
    
    End Sub
    
    '====================================================================
    'ShowFirstPrv 显示首页、前一页
    '
    '
    '====================================================================
    Private Function ShowFirstPrv()
    Dim Str_tmp,int_prvpage
    If int_curpage=1 Then
    str_tmp=Btn_First&amp;" "&amp;Btn_Prev
    Else
    int_prvpage=int_curpage-1
    str_tmp="<A title=首页 href="&amp;geturl&amp;" 1>"&amp;Btn_First&amp;"</A> <A title=上一页 href="&amp;geturl &amp; int_prvpage &amp;">"&amp; Btn_Prev&amp;"</A>"
    End If
    ShowFirstPrv=str_tmp
    End Function
    
    '====================================================================
    'ShowNextLast 、末页
    '
    '
    '====================================================================
    Private Function ShowNextLast()
    Dim str_tmp,int_Nextpage
    
    If Int_curpage>=int_totalpage Then
    str_tmp=Btn_Next &amp; " " &amp; Btn_Last
    Else
    Int_NextPage=int_curpage+1
    str_tmp="<A title= href="&amp; geturl &amp; int_NextPage &amp;">"&amp;Btn_Next&amp;"</A> <A? title=最末页 href="&amp;geturl &amp; int_totalpage &amp;">"&amp; Btn_Last&amp;"</A>"
    End If
    ShowNextLast=str_tmp
    End Function
    
    
    '====================================================================
    'ShowNumBtn 数字导航
    '
    '
    '====================================================================
    'Private Function showNumBtn()
    ' Dim i,str_tmp
    ' For i=1 to int_totalpage
    ' str_tmp=str_tmp &amp; "<A href="&amp; geturl &amp; i &amp;">["&amp;i&amp;"]</A> "
    ' Next
    ' showNumBtn=str_tmp
    '
    'End Function
    '====================================================================
    'ShowNumBtn 修改后的数字导航
    '
    '====================================================================
    Function showNumBtn()
    Dim i,str_tmp,end_page,start_page
    if int_curpage>4 then
    if int_curpage+2<INT_TOTALPAGE then
    start_page=int_curpage-2
    end_page=int_curpage+2
    else
    start_page=int_totalpage-4
    end_page=int_totalpage
    end if
    else
    start_page=1
    if int_totalpage>5 then
    end_page=5
    else
    end_page=int_totalpage
    end if
    end if
    For i=start_page to end_page
    str_tmp=str_tmp &amp; " [<A href="&amp; geturl &amp; i &amp;">"&amp;i&amp;"</A>] "
    Next
    showNumBtn=str_tmp
    End Function
    
    '====================================================================
    'ShowGoto 页面跳转
    '
    '
    '====================================================================
    Private Function ShowGoto()
    Dim M_item
    '========================================================
    '将返回的Url参数逐个的写入隐藏域中,以便与参数继续传递
    '========================================================
    For Each M_item In Request.QueryString
    If InStr("page",M_Item)=0 Then '从参数中除去 "page" 的值
    Response.Write "<INPUT type=hidden value=&amp;Request.QueryString( name=&amp;M_Item&amp; ?&M_Item&??)&?>"
    End If
    Next
    '========================================================
    response.write " 转到第:<INPUT maxLength=10 size=3 value=&amp;int_curpage&amp; name=page>"
    response.write " 页 <INPUT type=submit value=Goto>"
    End Function
    
    
    '====================================================================
    'ShowPageInfo 分页信息
    '更据要求自行修改
    '
    '====================================================================
    Private Function ShowPageInfo()
    Dim str_tmp
    str_tmp=" [页次:"&amp;int_curpage&amp;"/"&amp;int_totalpage&amp;"页] [共"&amp;int_totalrecord&amp;"条] ["&amp;XD_PageSize&amp;"条/页]"
    ShowPageInfo=str_tmp
    End Function
    
    '====================================================================
    '修改后的获取当前Url参数的函数
    'Codeing by Redsun
    '====================================================================
    Private Function GetUrl()
    Dim &#115 criptAddress, M_ItemUrl, M_item
    &#115 criptAddress = CStr(Request.ServerVariables("&#115 cript_NAME"))&amp;"?"'取得当前地址
    If (Request.QueryString <> "") Then
    M_ItemUrl = ""
    For Each M_item In Request.QueryString
    If InStr("page",M_Item)=0 Then
    M_ItemUrl = M_ItemUrl &amp; M_Item &amp;"="&amp; Server.URLEncode(Request.QueryString(""&amp;M_Item&amp;"")) &amp; "&amp;"
    End If
    Next
    &#115 criptAddress = &#115 criptAddress &amp; M_ItemUrl'取得带参数地址
    End If
    GetUrl = &#115 criptAddress &amp; "page="
    End Function
    
    '====================================================================
    ' 设置 Terminate 事件。
    '====================================================================
    Private Sub Class_Terminate
    XD_RS.close
    Set XD_RS=nothing
    End Sub
    '====================================================================
    'ShowError 错误提示
    '====================================================================
    Private Sub ShowError()
    If str_Error <> "" Then
    Response.Write("<FONT #FF0000><B>" &amp; SW_Error &amp; "</FONT>")
    Response.End
    End If
    End Sub
    
    End class


更多的ASP经典分页类请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2007-1-13 15:09:08   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
  友情赞助  

关于我们 | 联系我们 | 广告投放 | 留言反馈 | 免费程序 | 虚拟主机 | 网站建设 |  网站推广 |  google_sitemap baidu_sitemap RSS订阅
本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报