完美的ASP分頁尾本程式碼
直接寫成函式的形式,如果輸出生成好的頁碼,然後又程式輸出或儲存到檔案中。
前十頁為一批,第十頁顯示1,2,3…10;第十一頁頁碼就變成了11,12…20
這種模式很多CMS都用到,比如5UCMS。函式名留點版權資訊吧,cs=CatSeven
<% function csPage(id,all,url1,url2) if id<>1 then tmp="<a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" &url1&"1"&url2&""">首頁</a> <a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" &url1&id-1&url2&""">上一頁</a>" istart=((id-1)\10)*10+1 if(all-id)>9 then iend=((id-1)\10)*10+10 else iend=all end if for i=istart to iend if i=id then tmp=tmp&"<span>"&i&"</span> " else tmp=tmp&"<a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" &url1&i&url2&""">"&i&"</a> " end if next if id<>all then tmp=tmp&"<a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" &url1&id+1&url2&""">下一頁</a> <a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" &url1&all&url2&""">尾頁</a>" csPage=tmp end function 'DEBUG for j=1 to 40 response.write "#Page"&j&":"&csPage(j,40,"#TEST_","_View")&"<br />" next %>
生成效果如下:
#Page1:1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page2:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page3:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page4:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page5:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page6:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page7:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page8:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page10:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page11:首頁 上一頁 11 12 13 14 15 16 17 18 19 20 下一頁 尾頁
#Page12:首頁 上一頁 11 12 13 14 15 16 17 18 19 20 下一頁 尾頁
#Page13:首頁 上一頁 11 12 13 14 15 16 17 18 19 20 下一頁 尾頁
#Page14:首頁 上一頁 11 12 13 14 15 16 17 18 19 20 下一頁 尾頁
#Page15:首頁 上一頁 11 12 13 14 15 16 17 18 19 20 下一頁 尾頁
#Page17:首頁 上一頁 11 12 13 14 15 16 17 18 19 20 下一頁 尾頁
#Page18:首頁 上一頁 11 12 13 14 15 16 17 18 19 20 下一頁 尾頁
#Page19:首頁 上一頁 11 12 13 14 15 16 17 18 19 20 下一頁 尾頁
#Page20:首頁 上一頁 11 12 13 14 15 16 17 18 19 20 下一頁 尾頁
#Page21:首頁 上一頁 21 22 23 24 25 26 27 28 29 30 下一頁 尾頁
#Page22:首頁 上一頁 21 22 23 24 25 26 27 28 29 30 下一頁 尾頁
#Page23:首頁 上一頁 21 22 23 24 25 26 27 28 29 30 下一頁 尾頁
#Page24:首頁 上一頁 21 22 23 24 25 26 27 28 29 30 下一頁 尾頁
#Page25:首頁 上一頁 21 22 23 24 25 26 27 28 29 30 下一頁 尾頁
#Page26:首頁 上一頁 21 22 23 24 25 26 27 28 29 30 下一頁 尾頁
#Page27:首頁 上一頁 21 22 23 24 25 26 27 28 29 30 下一頁 尾頁
#Page28:首頁 上一頁 21 22 23 24 25 26 27 28 29 30 下一頁 尾頁
#Page29:首頁 上一頁 21 22 23 24 25 26 27 28 29 30 下一頁 尾頁
#Page30:首頁 上一頁 21 22 23 24 25 26 27 28 29 30 下一頁 尾頁
#Page31:首頁 上一頁 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page32:首頁 上一頁 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page33:首頁 上一頁 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page34:首頁 上一頁 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page35:首頁 上一頁 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page36:首頁 上一頁 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page37:首頁 上一頁 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page38:首頁 上一頁 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page39:首頁 上一頁 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page40:首頁 上一頁 31 32 33 34 35 36 37 38 39 40
說實話我並不是很喜歡這種分頁方式,我比較喜歡上次寫的那個。
如果不超過10頁,比如共5頁。1,3,4,5;
如果最末頁減當前頁碼不超過十,頁碼顯示最後10頁;
其他的是前四後五的方法。直接給出程式碼吧
function csPage1(id,url2) if id<>1 then tmp="<a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" &url1&"1"&url2&""">首頁</a> <a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" &url1&id-1&url2&""">上一頁</a> " if all<10 or id<10 then istart=1 if all<10 then iend=all else iend=10 elseif all-id<10 then istart=all-10 iend=all else istart=id-4 iend=id+5 end if for i=istart to iend if i=id then tmp=tmp&"<span>"&i&"</span> " else tmp=tmp&"<a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" &url1&i&url2&""">"&i&"</a> " end if next if id<>all then tmp=tmp&"<a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" &url1&id+1&url2&""">下一頁</a> <a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" &url1&all&url2&""">尾頁</a>" csPage1=tmp end function for j=1 to 40 response.write "#Page"&j&":"&csPage1(j,"_View")&"<br />" next
生成效果如下:
#Page1:1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page2:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page3:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page4:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page5:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page6:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page7:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page8:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page9:首頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 尾頁
#Page10:首頁 上一頁 6 7 8 9 10 11 12 13 14 15 下一頁 尾頁
#Page11:首頁 上一頁 7 8 9 10 11 12 13 14 15 16 下一頁 尾頁
#Page12:首頁 上一頁 8 9 10 11 12 13 14 15 16 17 下一頁 尾頁
#Page13:首頁 上一頁 9 10 11 12 13 14 15 16 17 18 下一頁 尾頁
#Page14:首頁 上一頁 10 11 12 13 14 15 16 17 18 19 下一頁 尾頁
#Page15:首頁 上一頁 11 12 13 14 15 16 17 18 19 20 下一頁 尾頁
#Page16:首頁 上一頁 12 13 14 15 16 17 18 19 20 21 下一頁 尾頁
#Page17:首頁 上一頁 13 14 15 16 17 18 19 20 21 22 下一頁 尾頁
#Page18:首頁 上一頁 14 15 16 17 18 19 20 21 22 23 下一頁 尾頁
#Page19:首頁 上一頁 15 16 17 18 19 20 21 22 23 24 下一頁 尾頁
#Page20:首頁 上一頁 16 17 18 19 20 21 22 23 24 25 下一頁 尾頁
#Page21:首頁 上一頁 17 18 19 20 21 22 23 24 25 26 下一頁 尾頁
#Page22:首頁 上一頁 18 19 20 21 22 23 24 25 26 27 下一頁 尾頁
#Page23:首頁 上一頁 19 20 21 22 23 24 25 26 27 28 下一頁 尾頁
#Page24:首頁 上一頁 20 21 22 23 24 25 26 27 28 29 下一頁 尾頁
#Page25:首頁 上一頁 21 22 23 24 25 26 27 28 29 30 下一頁 尾頁
#Page26:首頁 上一頁 22 23 24 25 26 27 28 29 30 31 下一頁 尾頁
#Page27:首頁 上一頁 23 24 25 26 27 28 29 30 31 32 下一頁 尾頁
#Page28:首頁 上一頁 24 25 26 27 28 29 30 31 32 33 下一頁 尾頁
#Page29:首頁 上一頁 25 26 27 28 29 30 31 32 33 34 下一頁 尾頁
#Page30:首頁 上一頁 26 27 28 29 30 31 32 33 34 35 下一頁 尾頁
#Page31:首頁 上一頁 30 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page32:首頁 上一頁 30 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page33:首頁 上一頁 30 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page34:首頁 上一頁 30 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page35:首頁 上一頁 30 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page36:首頁 上一頁 30 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page37:首頁 上一頁 30 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page38:首頁 上一頁 30 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page39:首頁 上一頁 30 31 32 33 34 35 36 37 38 39 40 下一頁 尾頁
#Page40:首頁 上一頁 30 31 32 33 34 35 36 37 38 39 40
上面的程式碼在2009-2010年寫過簡單個兩個分頁(調取頁碼的函式):
現在看有點亂了,最近有重新整理了下程式碼,重寫了ASP的分頁程式碼,生成的分頁程式碼相容BootStrap。程式碼如下:
'PageinationRecordSet 如果返回false,說明 Adodb.RecrodSet集 為空 'RecordSet Adodb.RecrodSet集 'PageId 當前所在頁 'PageSize 每頁顯示多少條? '*PageCount 返回頁碼總數 function PageinationRecordSet(byref RecordSet,byref PageId,byval PageSize,byref PageCount) if RecordSet.eof then PageinationRecordSet = false else RecordSet.PageSize = PageSize PageCount = RecordSet.PageCount if PageId > PageCount then PageId = PageCount RecordSet.absolutePage = PageId PageinationRecordSet = true end if end function 'PageId 當前所在頁 'PageCount 頁碼總數 'urlTemplate 連結模板 function PageinationPageList(byval PageId,byval PageCount,byval urlTemplate) dim codeTemp,iPage if PageCount > 0 then codeTemp = "<ul class=""pagination"">" if PageId <= 1 then codeTemp = codeTemp & "<li class=""disabled"">" else codeTemp = codeTemp & "<li>" codeTemp = codeTemp & "<a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" & replace(urlTemplate,"{pg}",1) & """> 首頁 </a></li>" if PageId <= 1 then codeTemp = codeTemp & "<li class=""disabled"">" else codeTemp = codeTemp & "<li>" codeTemp = codeTemp & "<a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" & replace(urlTemplate,PageId-1) & """>上一頁</a></li>" for iPage = PageId - 5 to PageId + 5 if iPage = PageId then codeTemp = codeTemp & "<li class=""active""><a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" & replace(urlTemplate,iPage) & """>" & iPage & "</a></li>" elseif iPage < PageId and iPage > 0 then codeTemp = codeTemp & "<li><a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" & replace(urlTemplate,iPage) & """>" & iPage & "</a></li>" elseif iPage > PageId and iPage <= PageCount then codeTemp = codeTemp & "<li><a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" & replace(urlTemplate,iPage) & """>" & iPage & "</a></li>" end if next if PageId >= PageCount then codeTemp = codeTemp & "<li class=""disabled"">" else codeTemp = codeTemp & "<li>" codeTemp = codeTemp & "<a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" & replace(urlTemplate,PageId + 1) & """>下一頁</a></li>" if PageId >= PageCount then codeTemp = codeTemp & "<li class=""disabled"">" else codeTemp = codeTemp & "<li>" codeTemp = codeTemp & "<a href=""" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" & replace(urlTemplate,PageCount) & """>尾頁</a></li>" PageinationPageList = codeTemp & "</ul>" end if end function
測試程式碼:
pgId = Request.QueryString("pageid") '當前頁碼 pgSize = 10 '每頁大小 rsId = 0 Rs.Open Query,Conn,1,1 if PageinationRecordSet(Rs,pgId,pgSize,pgCount) then do while not Rs.Eof and rsId < pgSize rsId = rsId + 1 '列表內容 Rs.MoveNext loop end if Rs.Close '共 pgCount 頁 response.write PageinationPageList(pgId,pgCount,"./list.asp?pageid={pg}") '輸出分頁程式碼
到此這篇關於完美的ASP分頁尾本程式碼的文章就介紹到這了,更多相關ASP分頁內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!