请问这个ASP分页的错误在哪里?怎么改?谢谢!

来源:百度知道 编辑:UC知道 时间:2024/05/28 04:03:56
<%
sql="select * from list ORDER BY id DESC"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1

rs.PageSize=20
pagecount=rs.PageCount
page=int(request.QueryString ("page"))
if page<=0 then page=1
if request.QueryString("page")="" then
page=1
end if
rs.AbsolutePage=page
%>

…………

<table width="760" border="0" align="center" cellpadding="0" cellspacing="0">
<%for i=1 to rs.PageSize%>
<%if rs.EOF then
exit for
end if%>
<tr>
<td><a href="qiyecontent.asp?id=<%=rs("id")%>" target="_blank" class="c"><%=rs("biaoti")%></a></td>
</tr>
<tr>
<td height="5"></td>
</tr>

if rs.eof and rs.bof then
response.write(\"无记录\")
response.end
end if

这个办法不是太好,不过我也没有其他的方法了,请参考一下吧。

rs.PageSize=20
pagecount=rs.PageCount
page=int(request.QueryString ("page"))
if page<=0 then page=1
if request.QueryString("page")="" then
page=1
end if
response.write page
response.end
''这样看看输出的page是多少?

rs.AbsolutePage=page

这句改成:

if pagecount<=page then
rs.AbsolutePage=page
else
rs.AbsolutePage=pagecount
end if

page=int(request.QueryString ("page"))
这句话有误,应为:
page=Cint(request.QueryString ("page"))

你看一下 page 这个变量 看看是否为空,而且要养成个好习惯,开打开RS后做的第一件事就是判断这个RS的recordCOUNT的值是多少

<%if rs.EOF then
exit for
end if%>
把这句话改了
改成:
if not rs.eof then
你的内容
rs.movenext
else
exit for
end if