主题:  默认页为负值的问题

can_5d

职务:普通成员
等级:1
金币:0.0
发贴:27
#12004/10/9 10:38:41
www.qplwatch.com/product_new.asp

首页 上一页 下一页 尾页 页次:-1/2 共7个产品 6个产品/页转到

其中的代码为:
<%
set rs_Product=server.createobject("adodb.recordset" )
sqltext="select * from Product where Passed=True And newpro=True order by UpdateTime desc"
rs_Product.open sqltext,conn,1,1
%>
<%filepath=request.servervariables("path_info" )%> <%
page=request.querystring("page" ) 'page值为接受值
rs_Product.PageSize = 6 '每页显示记录数
if Not IsEmpty(page) then '如果page已经初始化...
if Not IsNumeric(page) then '判断page值是否为数字
page=1
else
Page = cint(page) '接收page并化为数字型赋给page变量
end if
if Page > rs_Product.PageCount then '如果接收的页数大于总页数
rs_Product.AbsolutePage = rs_Product.PageCount '设置当前显示页等于最后页
elseif Page <= 0 then '如果page小于等于0
rs_Product.AbsolutePage = 1 '设置当前显示页等于第一页
else
rs_Product.AbsolutePage = Page '如果大于零,显示当前页等于接收的页数
end if
else
rs_Product.AbsolutePage=1
end if
Page = rs_Product.AbsolutePage%> <%
For i = 1 to rs_Product.PageSize '利用for next 循环依次读出当前页的记录
if rs_Product.EOF then
Exit For
end if%>

<!--'中间循环的数据省略-->

<% rs_Product.MoveNext
Next
%>

<form action="<%=filepath%>" method="get">
<!--首先保证总页数不为1、不为0-->
<%if rs_Product.pagecount<>1 and rs_Product.pagecount<>0 then%>
<!--如果当前页数大于1,无论何时都应显示首页和上一页的连接-->
<%if page>1 then%>
<a Href="<%=filepath%>?Page=<% = 1%>">首页</a>
<a Href="<%=filepath%>?Page=<% = page - 1 %>">上一页</a>
<!--如果当前页数大于1并且小于总页面数时,显示出尾页和下一页的连接-->
<%if page<rs_Product.pagecount then %>
<a Href="<%=filepath%>?Page=<% = page + 1%>">下一页</a>
<a Href="<%=filepath%>?Page=<% = rs_Product.PageCount%>">尾页</a>
<!--如果当前页数大于1并且仍大于或等于总页面数时,不显示出尾页和下一页的连接-->
<%else%>
下一页 尾页
<%end if%>
<!--否则,当前页数不大于1,则只显示尾页和下一页的连接-->
<%else%>
<a Href="<%=filepath%>?Page=<% = 1%>">首页</a> 上一页
<a Href="<%=filepath%>?Page=<% = page + 1%>">下一页</a>
<a Href="<%=filepath%>?Page=<% = rs_Product.PageCount%>">尾页</a>
<%end if %>
<!--最终,总页数若为1、为0则没有任何连接-->
<%else%>
首页 上一页 下一页 尾页
<%end if%>
页次:<font color=red><b><%=page%></b></font>/<%=rs_Product.PageCount%>
共<%=rs_Product.RecordCount%>个产品 <font color=red><b><%=rs_Product.PageSize%></b></font>个产品/页
转到<input name="page" size=5 value="<%=page%>">页
<input type="submit" value="Enter">
</form>

麻烦大家帮我看看问题的所在,谢谢了。

编辑历史:[此帖最近一次被 can 编辑过(编辑时间:2004-10-09 11:01:24)]


蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#22004/10/9 11:07:20
if Not IsEmpty(page) then '如果page已经初始化...
if Not IsNumeric(page) then '判断page值是否为数字

----是否还存在没有考虑到的例外呢?


非常大鱼

绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#32004/10/9 11:59:27
pagesize=20 '===一页的记录数
page=request("page")
if page="" or not(isnumeric(page)) then
    page=1
end if


rs.open sql,conn,1,1

if not rs.EOF then
    rs.PageSize=pagesize
    pagecount=rs.pagecount
    if int(page)>int(pagecount) then
         page=pagecount
    end if
    rs.AbsolutePage=page
    row=pagesize
end if



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#42004/10/9 12:00:44
<%
url="xsh_liantong.asp"
if not rs.eof then%>
<table border="0" width="760" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" height="20" bgcolor="#ECFFF1">
[<a href="<%=url%>?page=1" title="确定">首页</a>|
<%if int(page)<=1 then%>
上一页|<%
else%>                        
     <a href="<%=url%>?page=<%=page-1%>" title="确定">上一页</a>|
     <%end if%>
                    
     <%if int(page)>=int(pagecount) then%>
下一页|<%
     else%>
        <a href="<%=url%>?page=<%=page+1%>" title="确定">下一页</a>|                        
     <%end if%>
     <a href="<%=url%>?page=<%=pagecount%>" title="确定">尾页</a>]    共 <%=pagecount%> 页,当前第
<font color="#FF0000"> <%=page%> </font> 页,计 <%=rs.recordcount%> 条记录
</td>
</tr>
</table>
<%end if%>



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#52004/10/9 14:27:02
值为-1表时该属性在特定的打开方式时不被支持,请参考ADO手册