也谈分页
作者:西风 来源:未知 添加时间:2006-5-21 10:32:01在ASP的开头如下:(作这样一个判断式是为了当Page=Empty时,指定其值为1)
If Request("Page")=Empty Then
Page=1
Else
Page=cint(Request("Page"))
End If
底下指定每页显示的资料录笔数,并移转到该笔资料录,即当page=4时,会移转到(4-1)*20+1=61,第61笔资料录...(注:要先设rs.PageSize的值,才能得到rs.PageCount值,而且如果你的rs要先关闭,必须先把其值指定下来)
RS.PageSize = 20
If Not rs.eof Then
RS.AbsolutePage = PAGE
End if
pagecount=rs.pagecount
当我们设定了一页的笔数后,在输出时当然要把这个值带到输出的判断式(要加上I > RS.PageSize 时就停止循环)
I=1
Do until rs.EOF or I > RS.PageSize
…………
…………
rs.MoveNext
I=I+1
Loop
底下是为了显示成如底下:(注:page>1时,才有上一页,page<pagecount时,才会有下一页,总页数/目前页数,显示各页除了本页之外..)
上一页 页5/1 2 3 4 5 下一页 第一页 最后一页
If page>1 Then
Response.write "<a href=list.asp?page="&page-1&">上一页</a>"
End If
Response.write "页 <font face=Arial><b>"&pagecount&" / "
Response.write page &"</b></font>"
For j=1 to pagecount
IF J <> page THEN
response.write "<a href=list.asp?page="&j&">"&j&"</a>"
End If
Next
If page<pagecount Then
Response.write "<a href=list.asp?page="&page+1&">下一页</a>"
End If
Response.write " <a href=list.asp?page=1>第一页</a>"
Response.write " <a href=list.asp?page="&pagecount&">最后页</a>"
注:我以为第一页跟最后页,在阿拉伯数已经有了,似乎也可以不要,以上的语法是固定的,你只要给Rs.PageSize的值就行了,当然它的值也可以由浏览者由Form窗体中来决定!!不太了解这里的板性,故以<>取代半角码
站内搜索