cPage - ASP分页类

    技术2022-05-11  95

    < % '****************************************************************************** '类名:cPage '功能:ASP分页 '作者:inrg '说明:http://tb.blog.csdn.net/TrackBack.aspx?PostId=1496450 '******************************************************************************     Class  cPage         Private  page         Public  pagesize         Private  cRs                         Private  isEof                 Private   Sub  class_initialize()            pagesize  =   10          ' 初始页大小             isEof  =   False             page  =  Request.QueryString( " page " )             If   Trim ( page )  =   ""   Or   Trim ( page )  =   " 0 "   Then                 page  =   1              Else                 page  =   cInt Trim ( page ) )             End   If                       End Sub                  Private   Sub  class_terminate()             set  cRs  =   nothing              set  cCom  =   nothing          End Sub                  Public   Sub  setRs( rs )             Set  cRs  =  rs             If  rs.Eof  Then                 isEof  =   True                  Exit Sub              End   If             cRs.PageSize  =  pagesize            cRs.AbsolutePage  =  page         End Sub                  ' 设置查询字符串          Private   Function  setUrl( querystring,  str , value )             Dim  maxArr, minArr, i, m, strTmp, bool                        maxArr  =   Split ( querystring,  " & "  )            strTmp  =   ""             bool  =   True                          For  i  =   0   To   Ubound ( maxArr )                minArr  =   Split ( maxArr( i ),  " = "  )                 If   Trim ( minArr(  0  ) )  =   Trim str  )  Then                     bool  =   False                     minArr(  1  )  =  value                 End   If                  If  i  =   Ubound ( maxArr )  Then                      strTmp  =  strTmp  &   Trim ( minArr(  0  ) )  &   " = "   &   Trim ( minArr(  1  ) )                 Else                     strTmp  =  strTmp  &   Trim ( minArr(  0  ) )  &   " = "   &   Trim ( minArr(  1  ) )  &   " & "                  End   If              Next                          If  bool  =   True   Then                  If   trim ( querystring )  =   ""   Then                     strTmp  =   Trim str  )  &   " = "   &   Trim ( value )                 Else                     strTmp  =   Trim ( querystring )  &   " & "   &   Trim str  )  &   " = "   &   Trim ( value )                 End   If              End   If                         setUrl  =  strTmp         End Function                  ' 获得跳转页面网址          Public   Function  getUrl( cPage )             Dim  servername, scriptname, serverport, querystring, url            servername  =  Request.ServerVariables( " SERVER_NAME " )            scriptname  =  Request.ServerVariables( " SCRIPT_NAME " )            serverport  =  Request.ServerVariables( " SERVER_PORT " )            querystring  =  Request.ServerVariables( " Query_String " )            querystring  =  setUrl(querystring, " page " , cPage)                         If   Trim ( serverport )  =   " 80 "   Then                 url  =   " http:// "   &   Trim (servername)  &   Trim (scriptname)  &   " ? "   &   Trim (querystring)             Else                 url  =   " http:// "   &   Trim (servername)  &   " : "   &   Trim (serverport)  &   Trim (scriptname)  &   " ? "   &   Trim (querystring)             End   If                         getUrl  =  url         End Function                  ' 获得分页代码(底部 首页)          Public   Function  getFirstPageStr( firststr )             If  isEof  Then                 getFirstPageStr  =   ""                  Exit Function              End   If              If  page  <=   1   Then                 getFirstPageStr  =   " <a> " &  firststr  & " </a> "              Else                     getFirstPageStr  =   " <a href= "   &  getUrl(  1  )  &   " > " &  firststr  & " </a> "              End   If          End Function                  ' 获得分页代码(底部 尾页)          Public   Function  getEndPageStr( Endstr )             If  isEof  Then                 getEndPageStr  =   ""                  Exit Function              End   If              If  page  >=  cRs.PageCount  Then                 getEndPageStr  =   " <a> " &  Endstr  & " </a> "                  Else                 getEndPageStr  =   " <a href= "   &  getUrl( cRs.PageCount )  &   " > " &  Endstr  & " </a> "              End   If                      End Function                  ' 获得分页代码(底部 上一页)          Public   Function  getBeforePageStr( beforestr )             If  isEof  Then                 getBeforePageStr  =   ""                  Exit Function              End   If              If  page  <=   1   Then                 getBeforePageStr  =   " <a> " &  beforestr  & " </a> "              Else                 getBeforePageStr  =   " <a href= "   &  getUrl( page  -   1  )  &   " > " &  beforestr  & " </a> "              End   If          End Function                  ' 获得分页代码(底部 下一页)          Public   Function  getNextPageStr( nextstr )             If  isEof  Then                 getNextPageStr  =   ""                  Exit Function              End   If              If  page  >=  cRs.PageCount  Then                 getNextPageStr  =   " <a> " &  nextstr  & " </a> "              Else                 getNextPageStr  =   " <a href= "   &  getUrl( page  +   1  )  &   " > " &  nextstr  & " </a> "              End   If          End Function                  ' 获得分页代码(底部 下拉)          Public   Function  getGoPageStr( gostr )             If  isEof  Then                 getGoPageStr  =   ""                  Exit Function              End   If              Dim  i,  str                          str   =  gostr  &   " <select name='page' onChange=javascript:document.forms[0].submit()> "              For  i  =   1   To  cRs.PageCount                  If  i  =  page  Then                      str   =   str   &   " <option value= " &  i  & "  selected> "   &  i  &   " </option> "                  Else                      str   =   str   &   " <option value= " &  i  & "  > "   &  i  &   " </option> "                  End   If              Next               str   =   str   &   " </select> "                         getGoPageStr  =   str          End Function      End Class % >

    使用实例:

     

    < ! --  #include file = " public.asp "   --> < %     set  cn  =  server.CreateObject( " ADODB.Connection " )     set  rs  =  server.CreateObject( " ADODB.Recordset " )        cn.ConnectionString  =   " Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs;Data Source=. "     cn.Open     rs.Open  " select * from authors " ,cn, 1 , 3          set  objTest  =   new  cPage     ' objTest.pagesize = 5    '设置一页显示的条数,默认10条     objTest.setRs( rs )                i  =  objTest.pagesize     while   not  rs.EOF  and  i  >   0         Response.Write rs( 0 ) & " <br> "         i  =  i  -   1         rs.MoveNext     wend    % > < %    Response.Write objTest.getFirstPageStr( " |<< " ) & " <br> "      ' 首页     Response.Write objTest.getBeforePageStr( " << " ) & " <br> "      ' 上一页     Response.Write objTest.getNextPageStr( " >> " ) & " <br> "          ' 下一页     Response.Write objTest.getEndPageStr( " >>| " ) & " <br> "          ' 最后一页 % > < form > < %    Response.Write objTest.getGoPageStr( " 跳至: " )             ' 跳转,必须放在Form内 % > </ form >

     

    有什么问题还请大家发表评论!


    最新回复(0)