网站首页 | 域名注册 | 虚拟空间 | 企业邮局 | 网站建设 | 网站推广 | 服务器合租 | 电子杂志 | 站长工具 
杭州网络公司、网站建设—奇灵网络
  文章 酷站 图库 下载  
 
搜索
  热门搜索: 素材图库 美女 导航条 求职简历 矢量 模板 特效 更多..
首   页 网络资讯 站长工具 站长必读 酷站欣赏 网页教程 css+div asp 站长赚钱 网站推广
  最新更新
 百度作弊网站定义和害处
 让百度重新收录你的网站的有效方…
 百度搜索联盟
 百度搜索技巧
 网站优化之服务器的选择
 最好的搜索引擎优化工具就是搜索…
 选择最佳关键词之10个技巧
 搜索引擎优化的最高境界是忘记搜…
 如何针对MSN搜索进行网站优化排名
 WEB2.0网站如何进行搜索引擎优化
  最新推荐
 黑蚂蚁互动
 新站快速收录,新手总结
 友情链接,其实很是伤人
 新式网站推广Web2.0的方法
 网络推广的流程步骤执行要务
 怎样推广电子杂志类网站\
 一个网站要怎样才能推广出去
 网站链接质量的判断方法
 百度主题封杀以下特征的行为
 Alexa常用的作弊方法总结
用Dreamweaver+ASP实现分页技术的参考
作者:佚名   文章来源:网络   点击数:   更新时间:2007-7-29 19:17:50 
"关于用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中再怎么修改一下就能达到呢?期待。

 

 

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(评论内容只代表网友观点,与本站立场无关!)
     姓 名:
     评 分: 1分 2分 3分 4分 5分
     评论内容:
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用动易网络服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。
  •   友情链接   
    奇灵网络  千宠网  易百看中国影音互动娱乐
    版权所有:杭州奇灵科技有限公司  Copyright:2007(C) All right reserved  电话:+86-0571-85521923
    地址:浙江省杭州市美都广场C座  浙ICP备07002666号