首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

asp分页奇怪有关问题

2012-03-13 
asp分页奇怪问题症状:rs120条如果每页显示10条或者10条以上那么能从第1页翻倒12页如果每页显示8条分页就

asp分页奇怪问题
症状:rs=120条   如果每页显示10条或者10条以上   那么能从第1页翻倒12页  
            如果每页显示8条   分页就是15页   那么只能翻倒7页。   如果每页6条   那么只能翻倒10页。

函数:
Sub   Pagination(objRS,Page_Size,PageUrl)
        objRS.PageSize=Page_Size
        objRS.AbsolutePage=Page
        If   PageUrl <> " "   Then
            PageUrl=PageUrl& " "
        Else
            PageUrl= "? "
        End   If
    If   Page <=1   Then
      Response.Write   "[首页][上一页] "
    Else
      Response.Write "[ <a   href= ' "&PageUrl& "Page=1 '> 首页 </a> &nbsp;] "
      Response.Write "[ <a   href= ' "&PageUrl& "Page= "&(Page-1)& " '> 上一页 </a> ] "
    End   If
    If   Page> =objRS.PageCount   Then
        Response.Write "[下一页][尾页] "
    Else
        Response.Write "[ <a   href= ' "&PageUrl& "Page= "&(Page+1)& " '> 下一页 </a> ] "
        Response.Write "[ <a   href= ' "&PageUrl& "Page= "&objRS.PageCount& " '> 尾页 </a> ] "
    End   If
    Response.Write "转到第 <input   type= 'text '   name= 'page '   size= '3 '   maxlength= '5 '   value= ' "   &Page   &   " '   onKeyPress= " "if   (event.keyCode==13)   window.location= ' "   &   PageUrl   &   "page= "   &   " '+this.value; " " '> 页 <input   type= 'submit '   value= 'Enter '> "
    Response.Write "[共 <Font   color= 'Red '> <b> "&objRS.RecordCount& " </b> </Font> 条记录] "
    Response.Write "[页 <Font   color= 'Red '> "&Page& " </Font> / "&objRS.PageCount& "页] "
  End   Sub

调用

Call   Pagination(rs,11, "ssyh.asp?buserid= "&id& "& ")
其中11就是每页显示条数。

[解决办法]
我一直用的分页
<%
SoFia_DbName= "jiaoyou " '修改此处为你的SQL Server 数据库名称
YourServer = "seven " '修改此处为你的Sql Server数据库地址
YourUid = "sa " '修改此处为你的数据库用户名
YourPassword = "struts " '修改此处为你的数据库密码
Connstr = "Driver={SQL Server};Server= "&YourServer& ";Uid= "&YourUid& ";Pwd= "&YourPassword& ";Database= "&SoFia_DbName
Set Conn=Server.CreateObject( "ADODB.CONNECTION ")
' On Error Resume Next
Conn.Open Connstr
If Err <> 0 Then
err.Clear
Set Conn = Nothing
Response.Write " <div align=center> <br> <br> <br> 连接SqlServer数据库出错,请检查相关设置…… </div> "
Response.End
End If

set rs = server.CreateObject( "adodb.recordset ")


rs.open "select * from userInfo order by id desc ",conn,1,1
if not(rs.Eof and rs.Bof) Then
page = trim(request.form( "page "))
if page = " " then page = trim(request.QueryString( "page "))
if Not(IsNumeric(page)) or page = "0 " then page = 1
rs.pageSize = 30 '设置每页的个数
strFile = "? " '设置当前页面的名称
pageCount = rs.pageCount
if len(page) > 4 then page = pageCount
if Cint(page) > Cint(pageCount) then page = pageCount
rs.absolutepage = page
for i = 1 to rs.pagesize
if rs.eof then exit for
Response.Write (Rs( "username ")& " <br> ")&VbNewline
rs.MoveNext
Next 'i
End if%>

<%
Response.Write ( " <table border=0 align=center cellpadding=6 cellspacing=0> <Form name= 'changepage ' method= 'post ' action= ' "&StrFile& " '> <tr> <td> ")&VbNewline
If pagecount < 1 Then pagecount = 1
Response.Write ( "第 "&page& "页/共 "&PAGECOUNT& "页,每页 "&Rs.pageSize& "条/共 "&Rs.recordCount& "条记录 </td> <td> &nbsp; ")
beginpage = 1
Endpage = CInt(pagecount)
page = CInt(page)
If pagecount > = 9 Then
If page > = 5 Then
beginpage = page - 4
If page <= (pagecount - 4) Then
Endpage = page + 4
Else
Endpage = pagecount
beginpage = pagecount - 4
End If
Else
beginpage = 1
Endpage = 9
End If
End If
If beginpage> 1 Then Response.write " <a title=首页 href= ' "&StrFile&logpage& " '> <font face=webdings> 9 </font> </a> "
For j = beginpage to Endpage
If j = page Then
Response.write "[ <b> "&j& " </b> ]&nbsp; "&VbNewline
Else
Response.write "[ <a href= ' "&StrFile& "page= "&j&logpage& " '> "&j& " </a> ]&nbsp; "&VbNewline
End If
next
If Endpage < pagecount Then Response.write ( " <a title=末页 href= ' "&StrFile& "page= "&pagecount&logpage& " '> <font face=webdings> : </font> </a> ")&Vbnewline
Response.Write ( " </td> <td align= 'right '> &nbsp; ")&VbNewline
Response.Write ( " <select name= " "page " " onchange= " "document.changepage.submit(); " "> ")&VbNewline
For i=0 To pagecount
If i <> pagecount Then
Response.Write ( " <option value= ' "&i+1& " ' ")
If page=i+1 Then Response.Write ( " selected ")
Response.Write ( "> 转到第 "&i+1& "页 </option> ")&VbNewline
End If
Next
Response.Write ( " </select> </td> </tr> </Form> </table> ")
rs.close
set rs = nothing
%>

热点排行