• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP项目中的公共翻页模块
    在大型的ASP项目中,很多的页面都涉及到翻页功能。如果每个页面都写一个翻页的程序的话,这样的工作即降低了工作效率,也不利于工程的模块化,不能使代码重用。因此,把翻页这样的功能模块化是很有必要的。  
    设计方法: 
    1、调用该模块时,只需要传递记录集和每页显示的记录的条数; 
    2、可以点击链接进行翻页,也可以直接输入页码,回车后翻页; 
    3、不要考虑文件名,程序的每次翻页都能在当前页面。 

    想清楚了上面3个问题,我们的公共翻页模块就可以动手了。 


    '+++++++++++++++++++++++++++++++++++++ 
    '◆模块名称: 公共翻页模块 
    '◆文 件 名: TurnPage.asp 
    '◆传入参数: Rs_tmp (记录集), PageSize (每页显示的记录条数) 
    '◆输 出: 记录集翻页显示功能 
    '+++++++++++++++++++++++++++++++++++++ 

    Sub TurnPage(ByRef Rs_tmp,PageSize) 'Rs_tmp 记录集 ; PageSize 每页显示的记录条数; 
    Dim TotalPage '总页数 
    Dim PageNo '当前显示的是第几页 
    Dim RecordCount '总记录条数 
    Rs_tmp.PageSize = PageSize 
    RecordCount = Rs_tmp.RecordCount 
    TotalPage = INT(RecordCount / PageSize * -1)*-1 
    PageNo = Request.QueryString ("PageNo") 
    '直接输入页数跳转; 
    If Request.Form("PageNo")>"" Then PageNo = Request.Form("PageNo") 
    '如果没有选择第几页,则默认显示第一页; 
    If PageNo = "" then PageNo = 1  
    If RecordCount > 0 then 
    Rs_tmp.AbsolutePage = PageNo 
    End If 

    '获取当前文件名,使得每次翻页都在当前页面进行; 
    Dim fileName,postion 
    fileName = Request.ServerVariables("script_name") 
    postion = InstrRev(fileName,"/")+1 
    '取得当前的文件名称,使翻页的链接指向当前文件; 
    fileName = Mid(fileName,postion)  
    %> 
    table border=0 width='100%'>  
    tr>  
    td align=left> 总页数:font color=#ff3333>%=TotalPage%>/font>页 
    当前第font color=#ff3333>%=PageNo%>/font>页/td> 
    td align="right">  
    %If RecordCount = 0 or TotalPage = 1 Then  
    Response.Write "首页|前页|后页|末页" 
    Else%> 
    a href="%=fileName%>?PageNo=1">首页|/a> 
    %If PageNo - 1 = 0 Then 
    Response.Write "前页|" 
    Else%> 
    a href="%=fileName%>?PageNo=%=PageNo-1%>">前页|/a> 
    %End If 

    If PageNo+1 > TotalPage Then 
    Response.Write "后页|" 
    Else%> 
    a href="%=fileName%>?PageNo=%=PageNo+1%>">后页|/a> 
    %End If%> 

    a href="%=fileName%>?PageNo=%=TotalPage%>">末页/a> 
    %End If%>/td> 
    td width=95>转到第 
    %If TotalPage = 1 Then%> 
    input type=text name=PageNo size=3 readonly disabled style="background:#d3d3d3"> 
    %Else%> 
    input type=text name=PageNo size=3 value="" title=请输入页号,然后回车> 
    %End If%>页 
    /td> 
    /tr> 
    /table> 
    %End Sub%> 

    当然,大家可以把翻页的链接做成图片按钮,这样的话也面就更加美观了。 

    调用方法: 
    1、在程序开始或要使用翻页的地方包含翻页模块文件; 
    2、定义变量:RowCount,每页显示的记录条数 
    3、调用翻页过程:Call TurnPage(记录集,RowCount) 
    4、在Do While 循环输出记录集的条件中加上" RowCount > 0 " 条件 
    5、在循环结束 "Loop前" 加上: RowCount = RowCount - 1 

    '----------------------------------------------------- 
    调用范例: 
    文件名:News.asp 


    Dim Conn,Rs_News 
    Set Conn = server.CreateObject("ADODB.CONNECTION") 
    Conn.Open "cpm","cpm","cpm" 

    Dim Sql 
    Sql = "Select * from News" 
    Set Rs_News = Server.CreateObject("ADODB.RECORDSET") 
    Rs_News.Open Sql,Conn,1,3 '获取的记录集 

    '公共翻页模块开始%> 
    !--#include file=../Public/TurnPage.asp--> 

    Dim RowCount 
    RowCount = 10 '每页显示的记录条数 
    Call TurnPage(Rs_News,RowCount)  
    '公共翻页模块结束%>  

    table width=100%> 
    tr> 
    td>新闻编号/td> 
    td>新闻标题/td> 
    td>发布日期/td> 
    tr> 

    If Not Rs_News.eof 
    Do while Not Rs_News.eof and RowCount>0 
    %> 
    tr> 
    td>%=Rs_News("ID")%>/td> 
    td>%=Rs_News("Name")%>/td> 
    td>%=Rs_News("Date")%>/td> 
    tr> 

    RowCount = RowCount - 1 
    Rs_News.MoveNext 
    Loop 
    End If 
    %> 



    修正: 

    If Not Rs_News.eof then 
    Do while Not Rs_News.eof and RowCount>0 
    %> 

    而那个公共模块缺form>,改后: 

    Sub TurnPage(ByRef Rs_tmp,PageSize) 'Rs_tmp 记录集 ; PageSize 每页显示的记录条数; 
    Dim TotalPage '总页数 
    Dim PageNo '当前显示的是第几页 
    Dim RecordCount '总记录条数 
    Rs_tmp.PageSize = PageSize 
    RecordCount = Rs_tmp.RecordCount 
    TotalPage = INT(RecordCount / PageSize * -1)*-1 
    PageNo = Request.QueryString ("PageNo") 
    '直接输入页数跳转; 
    If Request.Form("PageNo")>"" Then PageNo = Request.Form("PageNo") 
    '如果没有选择第几页,则默认显示第一页; 
    If PageNo = "" then PageNo = 1  
    If RecordCount > 0 then 
    Rs_tmp.AbsolutePage = PageNo 
    End If 
    '获取当前文件名,使得每次翻页都在当前页面进行; 
    Dim fileName,postion 
    fileName = Request.ServerVariables("script_name") 
    postion = InstrRev(fileName,"/")+1 
    fileName = Mid(fileName,postion)  
    %> 
    table border=0 width='100%'>  
    tr>  
    td width="258" align=left> 总页数:font color=#ff3333>%=TotalPage%>/font>页  
    当前第font color=#ff3333>%=PageNo%>/font>页 总共%=RecordCount%>条 /td> 
    td width="308" align="right"> div align="center">  
    %If RecordCount = 0 or TotalPage = 1 Then  
    Response.Write "首页|前页|后页|末页" 
    Else%> 
    a href="%=fileName%>?PageNo=1">首页|/a>  
    %If PageNo - 1 = 0 Then 
    Response.Write "前页|" 
    Else%> 
    a href="%=fileName%>?PageNo=%=PageNo-1%>">前页|/a>  
    %End If 

    If PageNo+1 > TotalPage Then 
    Response.Write "后页|" 
    Else%> 
    a href="%=fileName%>?PageNo=%=PageNo+1%>">后页|/a>  
    %End If%> 
    a href="%=fileName%>?PageNo=%=TotalPage%>">末页/a>  
    %End If%> 
    /div>/td> 
    td width=189>form name="form1" method="post" action=""> 转到第 % If TotalPage = 1 Then%> 
    input type=text name=PageNo size=3 readonly disabled style="background:#d3d3d3"> 
    input type="submit" name="Submit" value="Go" disabled style="background:#d3d3d3"> 
    %Else%> 
    input type=text name=PageNo size=3 > 
    input type="submit" name="Submit" value="Go"> 
    %End If%> 
    /form> 
    页  
    /td> 
    /tr> 
    /table> 
    %End Sub%>
    上一篇:ASP万用分页程序
    下一篇:asp实现批量录入数据的实现
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ASP项目中的公共翻页模块 ASP,项目,中的,公共,翻页,