這個程序將顯示翻頁連接功能單獨抽出,而不涉及其它操作,可內置翻頁效果,方便靈活。
pagehanshu.asp <% '設置頁碼及URL 'value1 翻頁地址 'value2 page的值 'value3 地址標簽 eg:第一頁、下一頁 'value4 根據vaule1而定 '如果 value1 = "page.asp" 時,value4 = 1; value1 = "page.asp?id=1" 時,value4 = 0;
function page_url(value1,value2,value3,value4) dim result dim val if value4 = 1 then val = "?" else val = "&" end if result = "<a href=" & value1 & val & "page=" & value2 & ">" & value3 & "</a>" page_url = result end function
'取得翻頁的page參數 即為當前頁 function page_request() dim page page = request("page") if ( page <> "" and IsNumeric(page) = false ) or page = "" then page = 1 end if page_request = page end function
'設置最常用的翻頁模式,任意添加和修改 '第一種效果 寫的有點繁瑣 'n為總頁數 function pagemode1(value1,value2) dim out val1 = value1 val4 = value2 page = page_request() page = CInt(page) val2_1 = 1 val2_2 = page - 1 val2_3 = page + 1 val2_4 = n val3_1 = "第一頁" val3_2 = "上一頁" val3_3 = "下一頁" val3_4 = "最后頁" if page = 1 then out1 = val3_1 out2 = val3_2 else out1 = page_url(val1,val2_1,val3_1,val4) out2 = page_url(val1,val2_2,val3_2,val4) end if if page = n then out3 = val3_3 out4 = val3_4 else out3 = page_url(val1,val2_3,val3_3,val4) out4 = page_url(val1,val2_4,val3_4,val4) end if out = out1 & " " & out2 & " " & out3 & " " & out4 pagemode1 = out end function '第二種效果 'n 為總頁數 function pagemode2(value1,value2) dim out val1 = value1 val4 = value2 for i = 1 to n val2 = i val3 = "第" & i & "頁" out = out & page_url(val1,val2,val3,val4) & " " next pagemode2 = out end function %>
使用舉例(借用一下SunLine朋友的程序)
<% sql="……………………" rs.open sql,conn,1,1 '連接表 rs.pagesize=10 '這是每頁顯示幾條記錄10代表是10條 n = rs.pagecount '取得總頁數 page=page_request() '取得頁碼值 rs.AbsolutePage=page %>
接下來將下面的代碼放到需要的位置,用于顯示翻頁鏈接: <% out = pagemode1("page.asp",1) 'or out = pagemode1("page.asp?id=1",0) 'or out = pagemode2("page.asp",1)
response.write out %>
呵呵,這個程序沒有什么新東西,也沒經過任何運算速度測試和性能優化,純粹是為了用起來方便,請大家多提意見,讓我改進。
|