在大型的ASP項目中,很多的頁面都涉及到翻頁功能。如果每個頁面都寫一個翻頁的程序的話,這樣的工作即降低了工作效率,也不利於工程的模塊化,不能使代碼重用。因此,把翻頁這樣的功能模塊化是很有必要的。
設計方法:
1、調用該模塊時,只需要傳遞記錄集和每頁顯示的記錄的條數;
2、可以點擊鏈接進行翻頁,也可以直接輸入頁碼,回車後翻頁;
3、不要考慮文件名,程序的每次翻頁都能在當前頁面。
想清楚了上面3個問題,我們的公共翻頁模塊就可以動手了。
<%
'+++++++++++++++++++++++++++++++++++++
'◆模塊名稱:公共翻頁模塊
'◆文件名:TurnPage.asp
'◆傳入參數:Rs_tmp(記錄集),PageSize(每頁顯示的記錄條數)
'◆輸出:記錄集翻頁顯示功能
'+++++++++++++++++++++++++++++++++++++
'
SubTurnPage(ByRefRs_tmp,PageSize)'Rs_tmp記錄集;PageSize每頁顯示的記錄條數;
DimTotalPage'總頁數
DimPageNo'當前顯示的是第幾頁
DimRecordCount'總記錄條數
Rs_tmp.PageSize=PageSize
RecordCount=Rs_tmp.RecordCount
TotalPage=INT(RecordCount/PageSize*-1)*-1
PageNo=Request.QueryString("PageNo")
'直接輸入頁數跳轉;
IfRequest.Form("PageNo")<>""ThenPageNo=Request.Form("PageNo")
'如果沒有選擇第幾頁,則默認顯示第一頁;
IfPageNo=""thenPageNo=1
IfRecordCount<>0then
Rs_tmp.AbsolutePage=PageNo
EndIf
'獲取當前文件名,使得每次翻頁都在當前頁面進行;
DimfileName,postion
fileName=Request.ServerVariables("script_name")
postion=InstrRev(fileName,"/")+1
'取得當前的文件名稱,使翻頁的鏈接指向當前文件;
fileName=Mid(fileName,postion)
%>
<tableborder=0width='100%'>
<tr>
<tdalign=left>總頁數:<fontcolor=#ff3333><%=TotalPage%></font>頁
當前第<fontcolor=#ff3333><%=PageNo%></font>頁</td>
<tdalign="right">
<%IfRecordCount=0orTotalPage=1Then
Response.Write"首頁|前頁|後頁|末頁"
Else%>
<ahref="<%=fileName%>?PageNo=1">首頁|</a>