NEWS - 新聞中心
網站首頁 > 新聞中心

NEWS

用Dreamweaver和ASP實現分頁技術的參考
用Dreamweaver和ASP實現分頁技術的參考  

用Dreamweaver和ASP實現分頁技術的參考  

  今天心情有點激動,想把"關于用DW+ASP實現分頁技術的參考"分享給用DW+ASP做網頁的朋友們.去掉只有"第一頁,前一頁,下一頁,最后一頁"的小痛苦   
  此效果最后的顯示是:第N頁[共*頁] <<1 2 3 4 5 6 7 8 9 10 >>。   
  用DW+ASP做網頁時,在綁定記錄集后,代碼頁里馬上出現以下代碼:   

<%    
Dim Recordset1    
Dim Recordset1_numRows    

Set Recordset1 = Server.CreateObject("ADODB.Recordset")    
Recordset1.ActiveConnection = MM_數據庫名_STRING    
Recordset1.Source = "SELECT * FROM 表名"    
Recordset1.CursorType = 0    
Recordset1.CursorLocation = 2    
Recordset1.LockType = 1    
Recordset1.Open()    

Recordset1_numRows = 0    
%>   
  現在我們要來對代碼做點修改,請在上面代碼中修改為如下的代碼:   

<%    
Dim I    
Dim RPP    
Dim PageNo    
I=1    
RPP=50    
PageNo=CInt(Request("PageNo"))    
’上面即是新插入的,    
Dim Recordset1    
Dim Recordset1_numRows    
Set Recordset1 = Server.CreateObject("ADODB.Recordset")    
Recordset1.ActiveConnection = MM_數據庫名_STRING    
Recordset1.Source = "SELECT * FROM 數據庫名"    
Recordset1.CursorType = 1 ’將上面代碼的0改為1.    
Recordset1.CursorLocation = 2    
Recordset1.LockType = 1    
Recordset1.Open()    
Recordset1_numRows = 0 ’再在此行的下一行開始加入如下代碼:    
Recordset1.PageSize=RPP    
If PageNo<=0 Then PageNo=1    
If PageNo>Recordset1.PageCount Then PageNo=Recordset1.PageCount    
Recordset1.AbsolutePage=PageNo    
Sub ShowPageInfo(tPageCount,cPageNo)    
Response.Write "第"&cPageNo&"頁[共"&tPageCount&"頁]"    
End Sub    
Sub ShowPageNavi(tPageCount,cPageNo)     
If cPageNo<1 Then cPageNo=1    
If tPageCount<1 Then tPageCount=1    
If cPageNo>tPageCount Then cPageNo=tPageCount     
Dim NaviLength    
NaviLength=10 ’NaviLength:顯示的數字鏈接個數     
Dim I,StartPage,EndPage     
StartPage=(cPageNo\NaviLength)*NaviLength+1    
If (cPageNo Mod NaviLength)=0 Then StartPage=StartPage-NaviLength     
EndPage=StartPage+NaviLength-1    
If EndPage>tPageCount Then EndPage=tPageCount     
If StartPage>1 Then    
Response.Write "<a class=""pageNavi"" href=""?PageNo=" & (cPageNo-NaviLength) & """><<</a> "    
Else    
Response.Write "<font color=""#CCCCCC""><<</font> "    
End If    
For I=StartPage To EndPage    
If I=cPageNo Then    
Response.Write "<b>"&I&"</b>"    
Else    
Response.Write "<a class=""pageNavi"" href=""?PageNo=" & I & """>" & I & "</a>"    
End If    
If I<>tPageCount Then Response.Write "&nbsp;"    
Next    
If EndPage<tPageCount Then    
Response.Write " <a class=""pageNavi"" href=""?PageNo=" & (cPageNo+NaviLength) & """>>></a>"    
Else    
Response.Write " <font color=""#CCCCCC"">>></font> "    
End If    
End Sub    
%>   
  上面代碼中:RPP:指定每頁顯示的記錄條數。即每頁顯示幾條數據。   
  NaviLength:顯示的數字鏈接個數,即10就為1 2 3 ...10的連接個數。   
  若要顯示所有連接的頁(個)數,你可以設置為:NaviLength=tPageCount。   
  這時代碼已經差不多了,但還要在顯示的地方(如表格)中加點代碼才行吧,(要不然怎么顯示,呵~~~)如我們插入一個2行3列的表格。   
  1.將光標移在第一行第一列中,切換到代碼中加入:<%=(PageNo-1)*RPP+I%>   
  這個代碼是顯示序號用的。   
  2.右邊2個單元格(當然你自己可以根據需要分更多的列)就是為你要顯示的記錄了。請分別從綁定的記錄集中選中你要顯示的字段拖放在相應的單元格中,(也可以選中后再點右下角的“插入”按鈕)。這里我們就先拖2個進來如“編號”和“公司名稱”。分別到1行第2個單元格和1行第3個單元格中。   
  3.這個是個關鍵的,請將光標移到第一行任意單元格中,再來點選窗口底下的<tr>,這時你看看代碼,<tr>....</tr>就被選中了。這時請在<tr>....</tr>的前面插入如下代碼:   
<%    
If Recordset1.EOF OR Recordset1.BOF Then    
Else    
For I=1 To RPP    
%>再在<tr>....</tr>之后插入如下代碼:    
<%    
Recordset1.MoveNext    
If Recordset1.EOF OR Recordset1.BOF Then Exit For    
Next    
End If    
%>   
  4.這是就完成表格的第一行的工作。下來也是關鍵,即分頁的連接。光標在第2行第一個單元格中時在代碼窗口插入:   

<% showPageInfo Recordset1.PageCount,PageNo %>   
  的代碼。右邊的2個單元格將其合并,在代碼中插入:   

<% showPageNavi Recordset1.PageCount,PageNo %>   
  的代碼。  
  5.大功告成!這時感快預覽一下吧。。。。   
  表格的全部代碼如下:   
<table width="710" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#333333">    
<%    
If Recordset1.EOF OR Recordset1.BOF Then    
Else    
For I=1 To RPP    
%>    
<tr bgcolor="#FFFFFF">    
<td width="30" align="center"><%=(PageNo-1)*RPP+I%></td>    
<td><%=(Recordset1.Fields.Item("編號").Value)%></td>    
<td><%=(Recordset1.Fields.Item("公司名稱").Value)%></td>    
</tr>    
<%    
Recordset1.MoveNext    
If Recordset1.EOF OR Recordset1.BOF Then Exit For    
Next    
End If    
%>    
<tr bgcolor="#FFFFFF">    
<td colspan="3"><table width="100%" border="0" cellspacing="0" cellpadding="2">    
<tr bgcolor="#006699" class="w12">    
<td width="121" align="center"><% showPageInfo Recordset1.PageCount,PageNo %>    
</td>    
<td width="573" align="center">     
<% showPageNavi Recordset1.PageCount,PageNo %>    
</td>    
</tr>    
</table></td>    
</tr>    
</table>   
  這時你去點應用程序中的“服務器行為”中的記錄集,在代碼中就顯示為一下代碼,也是我的原代碼:   

<%    
Dim I    
Dim RPP’RPP:指定每頁顯示的記錄條數,    
Dim PageNo    
I=1    
RPP=50    
PageNo=CInt(Request("PageNo"))    
Dim Recordset1    
Dim Recordset1_numRows    
Set Recordset1 = Server.CreateObject("ADODB.Recordset")    
Recordset1.ActiveConnection = MM_數據庫名_STRING    
Recordset1.Source = "SELECT * FROM 表名 ORDER BY 編號 ASC"    
Recordset1.CursorType = 1    
Recordset1.CursorLocation = 2    
Recordset1.LockType = 1    
Recordset1.Open()    

Recordset1_numRows = 0    
Recordset1.PageSize=RPP    
If PageNo<=0 Then PageNo=1    
If PageNo>Recordset1.PageCount Then PageNo=Recordset1.PageCount    
Recordset1.AbsolutePage=PageNo    

Sub ShowPageInfo(tPageCount,cPageNo)    
Response.Write "第"&cPageNo&"頁[共"&tPageCount&"頁]"    
End Sub    

Sub ShowPageNavi(tPageCount,cPageNo)     
If cPageNo<1 Then cPageNo=1    
If tPageCount<1 Then tPageCount=1    
If cPageNo>tPageCount Then cPageNo=tPageCount     
Dim NaviLength    
NaviLength=20 ’NaviLength:顯示的數字鏈接個數     
Dim I,StartPage,EndPage     
StartPage=(cPageNo\NaviLength)*NaviLength+1    
If (cPageNo Mod NaviLength)=0 Then StartPage=StartPage-NaviLength     
EndPage=StartPage+NaviLength-1    
If EndPage>tPageCount Then EndPage=tPageCount     
If StartPage>1 Then    
Response.Write "<a class=""pageNavi"" href=""?PageNo=" & (cPageNo-NaviLength) & """><<</a> "    
Else    
Response.Write "<font color=""#CCCCCC""><<</font> "    
End If    
For I=StartPage To EndPage    
If I=cPageNo Then    
Response.Write "<b>"&I&"</b>"    
Else    
Response.Write "<a class=""pageNavi"" href=""?PageNo=" & I & """>" & I & "</a>"    
End If    
If I<>tPageCount Then Response.Write "&nbsp;"    
Next    
If EndPage<tPageCount Then    
Response.Write " <a class=""pageNavi"" href=""?PageNo=" & (cPageNo+NaviLength) & """>>></a>"    
Else    
Response.Write " <font color=""#CCCCCC"">>></font> "    
End If    
End Sub    

%>   
  不過有一個缺點就是:如當你想找99頁時點>>9次,要是有一個輸入框,輸入99后回車就到99就完美了。不知在DW+ASP中再怎么修改一下就能達到呢?期待。。。。 
?
首 頁 / 網站建設 / 電商設計 / 微信開發 / 網絡營銷 / 手機微信 / 案例展示 / 新聞中心 / 關于我們 / 聯系我們

服務熱線 13669264569  QQ:1755729534   地址:西安市高新技術開發區高新6路北口米羅藍山b312   


福建十一选五计划