分頁 大家好我是成龍,很高興又和大家見面了,今天討論的是“另一中分頁的實現方法”
目前,大多數asp書中介紹的分頁都是將所有的頁面的編號都羅列出來,大家可想而知,如果頁面很多的話整個頁面的大部分的內容將被頁號代替,非常難看,也許有的人會說,我把pagesize設定的大一些不就可以了嗎?不錯,這是一種解決的方案,但是筆者並不推薦,我想不會又哪一位瀏覽者能夠耐心的拖動捲軸來找他需要的資訊吧
下面筆者介紹的是大多數bbs裡面運用的分頁顯示的方案,即具有:首頁,前一頁,後一頁,尾頁和跳轉到對話方塊的超級連結
下面即使具體的實現方法了
<html>
<head>
<title> jackie's divding page</title>
</head>
<body>
<% .....open database...
sqlstmt="select......"
mypage=request.querystring("whichpage")
if mypage="" then
mypage=1
end if
set rs=server.creatobject("adodb.recordset")
rs.open sqlstmt,conn,adopenstatic
rs.movefirst
'取出頁面總數
maxcount=cint(rs.pagecount)
rs.absolutepage=mypage
%>
.........顯示頁面的資訊。。。(略)
<% scriptname=request.servervaribles("script.name")
currentpage=cint(rs.absolutepage)
lastpage=cint(rs.pagecount)
if currentpage<>1 or currentpage<>lastpage then
%>
<a href="<%=scriptname%>?whichpage=1">首頁</a>
<a href="<%=scriptname%>?whichpage=<%=currentpage-1%>前一頁</a>
<a href="<%=scriptname%>?whichpage=<%=currentpage+1%>後一頁</a>
<a href="<%=scriptname%>?whichpage=<%=lastpage%>尾頁</a>
<form action=<%=scriptname%>>
< input type="text" name="whichpage" size=3>
<input type="submit" value="go">
</form>
'後面就是如果判斷是第一頁或者是最後一頁的語句了
'如果是第一頁
<%else if currentpage=1 then%>
首頁 前一頁
<a href="<%=scriptname%>?whichpage=<%=currentpage+1%>後一頁</a>
<a href="<%=scriptname%>?whichpage=<%=lastpage%>尾頁</a>
<form action=<%=scriptname%>>
< input type="text" name="whichpage" size=3>
<input type="submit" value="go">
</form>
‘如果是尾頁的話
<a href="<%=scriptname%>?whichpage=1">首頁</a>
<a href="<%=scriptname%>?whichpage=<%=currentpage-1%>前一頁</a>
後一頁 尾頁
< input type="text" name="whichpage" size=3>
<input type="submit" value="go">
</form>
<%else
response.redirect scriptname&"?whichpage=1"
endif%>
</body>
</html>
這個分頁的程式大體上就是這樣了,不過有一點的不足就是提交有關頁面的表單沒有對輸入的非數位資訊進行處理,在這裡就不做介紹了,有興趣的朋友可以自己加上相應的處理。
註:由於最近一段時間機器不在身邊,上面的代碼並沒有調試,我是在網吧裡面用寫字板寫的,可能上面的代碼會有一些錯誤,但是筆者寫這篇文章的目的是給那些初學asp的朋友們提供另一種思路。