ASP翻页函数

原创 2006年06月04日 13:26:00

<%
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 使用例子
'sample call '''// call fPageCount(rs,50,1,10,url_,"#CCCCCC") //'''
'sample call '''// call fPageCount(otherRSname,50,1,10,url_,"#CCCCCC") //'''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'参数使用说明
''''''''''''''''''''''''''''''''''''''
'rs                 |     数据库表连接名
'repeatnum            |    每页显示记录总数
'startbynum            |    从多少开始循环显示
'numlink            |    显示数字链接导航数目
'url                |    翻页 URL 链接 -- 例: "asp.asp?pageview="
'visitedlinkcolor    |    当前链接页号或没有链接页号的链接颜色
'''''''''''''''''''''
'全例: call fPageCount(rs,50,1,10,"asp.asp?pageview=","#CCCCCC")
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'翻页输入框使用例子
'''''''''''''''''''
'<form NAME="formT" METHOD="get" ACTION="">
     '<%
         'if rqqcid_<>"" then
                 'response.write "<input TYPE='hidden' NAME='classid' VALUE="&rqqcid_&">"
         'end if
         'if rqqncid_<>"" then
                 'response.write "<input TYPE='hidden' NAME='nclassid' VALUE="&rqqncid_&">"
         'end if
     '%'>
     '<div CLASS="center">
         '<% call fPageCount(rs,50,1,10,"class.asp?classid="&rqqcid_&"&nclassid="&rqqncid_&"&pageview=","#CCCCCC")%'>
     '</div>
'</form>
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function fPageCount(rs,repeatnum,startbynum,numlink,url,visitedlinkcolor)
    toF_="首页"
     toP10_=" 上十"
     toP1_=" 上一"
     toN1_=" 下一"
     toN10_=" 下十"
     toL_="尾页"
    
     if not rs.eof  then
             rrc_=rs.recordcount
     end if

    if (not rs.eof or not rs.bof) and rrc_>repeatnum then '记录总数大于每页总数才显示分页链接
        
             pageview=CInt(Request("pageview"))  '读取 URL 页号
             rs.PageSize=repeatnum '定义每页显示记录数
        
         If pageview<=0 Then pageview=1 '如果 pageview 小于或等于0, 返回值1
             If pageview>rs.PageCount Then pageview=rs.PageCount ' 如果 pageview 大于分页总数, 返回分页末页值 
             rs.AbsolutePage=pageview '定义当前页码
            
             cPageNo=rs.AbsolutePage
             tpagecount=rs.pagecount
        
             If cPageNo<1 Then cPageNo=1  '如果页数小于 1, 默认为 1; 当前页, cPageNo = Current Page NO.
             If tPageCount<1 Then tPageCount=1 
             If cPageNo>tPageCount Then cPageNo=tPageCount  
                 Dim NaviLength 
                 NaviLength=numlink ' 显示数字链接数
                 Dim StartPage,EndPage ' 定义当前页, 开始页, 结束页
                 StartPage=(cPageNo/NaviLength)*NaviLength+1  '为开始页赋值
                
             if pageview=1 then '判断是否首页, 如果是首页不添加链接,反之添加.
                 Response.Write "<font color="&visitedlinkcolor&">"&toF_&"</font> "
             Else 
                 Response.Write "<a href="&url&"1>"&toF_&"</a> "
             End If  
            
             If (cPageNo Mod NaviLength)=0 Then StartPage=StartPage-NaviLength  
                 EndPage=StartPage+NaviLength-1                 
             If EndPage>tPageCount Then EndPage=tPageCount  
    
             If StartPage>1 Then '向后移动一分页, 十页为一分页, 并且以 1, 11, 21... 为每页的开始篇数
                 Response.Write "<a href="&url&(cPageNo-(cPageNo mod 10)-NaviLength+1)&"#anchor>"&toP10_&"</a> " 
             Else 
                 Response.Write "<font color="&visitedlinkcolor&">"&toP10_&"</font> " 
             End If 
    
             If pageview <> 1 and pageview <>0 Then '后移一页
                 Response.Write "<a href="&url&(pageview-1)&"#anchor>"&toP1_&"</a> " 
             Else 
                 Response.Write "<font color="&visitedlinkcolor&">"&toP1_&"</font> " 
             End If 
    
             For startbynum=StartPage To EndPage 
                 If startbynum=cPageNo Then 
                     Response.Write "<b class=gray>"&startbynum&"</b>" 
                 Else 
                     Response.Write "<a href="&url&startbynum&"#anchor>" &startbynum& "</a>" 
                 End If 
                 If startbynum<>tPageCount Then Response.Write " "
             Next 
    
             If pageview <> rs.PageCount and pageview <>0 Then '前移一页
                 Response.Write " <a href="&url&(pageview+1)&"#anchor>"&toN1_&"</a> " 
             Else 
                 Response.Write "<font color="&visitedlinkcolor&">"&toN1_&"</font> " 
             End If 
    
             If EndPage<tpagecount Then  '向前移动一分页, 十页为一分页, 并且以 1, 11, 21 为每页的开始篇数
                 Response.Write " <a href="&url&(cPageNo-(cPageNo mod 10)+NaviLength+1)&"#anchor>"&toN10_&"</a> " 
             Else 
                 Response.Write " <font color=#CCCCCC>"&toN10_&"</font> " 
             End If 
    
             if  rs.PageCount<>pageview then '判断是否尾页
                 Response.Write "<a href="&url&rs.PageCount&"#anchor>"&toL_&"</a>" 
             Else 
                 Response.Write "<font color="&visitedlinkcolor&">"&toL_&"</font>"
             End If 
            
             response.write " 转到:<input TYPE='text' NAME=pageview class=jumpinput VALUE='' onMouseMove='this.focus();this.select();'>"
            
                     '页面信息
                     response.Write b_&sp2_&repeatnum&"篇/页"&sp2_&cPageNo&"/"&tPageCount&"页"&sp2_&"共 "&rrc_&"篇"
     elseif (not rs.eof or not rs.bof) and rrc_<=repeatnum then
             response.write "<div class=font12px>共 "&rrc_&"篇</div>"
     end if
end function
%>

相关文章推荐

ASP多功能翻页函数

  • 2009年07月07日 06:05
  • 35KB
  • 下载

ASP项目中的公共翻页模块

在大型的ASP项目中,很多的页面都涉及到翻页功能。如果每个页面都写一个翻页的程序的话,这样的工作即降低了工作效率,也不利于工程的模块化,不能使代码重用。因此,把翻页这样的功能模块化是很有必要的。   ...
  • tgw2000
  • tgw2000
  • 2015年01月20日 16:53
  • 123

PostMessage函数完成PowerPointViewer的翻页功能

因项目需要,要完成Powerpoint文件的展示功能。对Powerpoint文件的显示我们利用微软的PowerPointViewer来完成。反正是免费的,也不用考虑版权的问题。相关的命令行格式可以参照...
  • sunerok
  • sunerok
  • 2011年08月19日 15:04
  • 871

ASP.NET一个翻页控件

  • 2006年02月23日 09:05
  • 20KB
  • 下载

ASP.NET C# 后台输出的带页码的分页函数(不用控件)

分页,如果用JS在前台分页,我觉得对SEO不利(js这东西确实是个好东西,但有时候,得考滤SEO),所以写了个ASP.NET 不用控件进行分页,直接从后台输出的,带页码的分页函数,如果您有用,可以参考...

asp+jquery翻页

  • 2013年01月16日 09:53
  • 9KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP翻页函数
举报原因:
原因补充:

(最多只允许输入30个字)