高手帮忙,asp分页显示有错误

来源:百度知道 编辑:UC知道 时间:2024/05/06 07:42:24
<%
const numperpage=3
Dim pageon
if Request.QueryString("pageon") = "" then
pageon = 1
Else
pageon = Request.QueryString("pageon")
End If
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "new"

Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")

rs.CacheSize = numperpage
Dim strSQL
strSQL = "SELECT * FROM news ORDER BY id DESC"
rs.Open strSQL, Conn

rs.MoveFirst
rs.PageSize = numperpage
Dim TotalPages
TotalPages = rs.PageCount
dim total
total=rs.recordcount
dim ScrollAction
ScrollAction = Request("ScrollAction")
if ScrollAction = " 上一页 " Then
PageNo=PageNo-1
end if
if ScrollAction = " 下一页 " Then
PageNo=PageNo+1
end if
if pageno<1 then
pageno=1
end if
%>

分页显示错误,太广了吧,详细点,比如:分页显示不了,参数都传对的,可是还是显示在第一页!检查了所有的分页设置,都是正确的,那就是一个很捣蛋的问题了! 就是变量与变量比较,如果是数值的话要强制数值比较,如:int(count)<int(page_size)我以前弄分页时也是因为这个,
而你的分页方式显然跟我的不一样,我是使用
rs.absolutePage = ipage
而不管怎么样,得保证 ipage不会超出范围,而在你的设置中,pageon好象是在一开始检查,然后修改的,这明显有超出范围的可能性!比如:在第一页还上一页,那肯定出错,还有最后一页也一样!
你看看我的这个吧!
<%
sub showNews(sql,rows,cols,ipage,isShowBookMark,autoLen)
dim rs,page_size,icol,path
if cols="" or not isNumeric(cols) then cols = 1
if cols<=0 then cols = 1
if rows="" or not isNumeric(rows) then rows = 1
if rows<=0 then rows=1
if ipage="" or not isNumeric(ipage) then ipage=1
if ipage<=0 then ipage=1
if autoLen="" or not isNumeric(autoLen) then autoLen = 20
if autoLen<=0 then autoLen = 20

page_size = cols * rows
set rs = server.CreateObject("ADODB.recordset")
rs.open sql,con