ASP 通用文章分页函数(非记录集分页)

时间:2008-10-07 12:07:59  来源:第二电脑网上收集  作者:第二电脑网

  第二电脑网导读:计信息-文章内容, 由字典实现如果分页大小大于文章总大小, 分页链接将为空.显示如:第1页 第2页 第3页 第4页 第5页 50,000字/页 1/5页 共235,289字正文...注: 显示内容的三个元素可自由变更位置.主内容: 分页函数及调用代码
  正文: 说明: 
本函数为文章分页, 非记录集分页
本函数实现将文章分页显示, 并以指定长度显示每一分页
本函数实现不需指定 URL, 自动更替 URL
本函数实现返回多个结果, 为: 分页链接-文章统计信息-文章内容, 由字典实现
如果分页大小大于文章总大小, 分页链接将为空.

显示如:
第1页 第2页 第3页 第4页 第5页 
50,000字/页 1/5页 共235,289字
正文...

注: 显示内容的三个元素可自由变更位置.


主内容: 分页函数及调用代码
    linenum
  1. <% 
  2.     dim rs, dic
  3.     set rs=createObject("adodb.recordset")
  4.         rs.open "select * from ctat where aid=15783",conn
  5.         'rs.open "select * from ctat where aid=12850",conn
  6.  
  7.         set dic=fAtPgnt(rs("content"),50000,request.queryString("apid"))
  8.             response.write dic("pgnt")&"<br/>"
  9.             response.write dic("info")&"<br/>"
  10.             response.write dic("cnt")&"<br/>"
  11.         set dic=nothing
  12.         rs.close
  13.     set rs=nothing
  14.  
  15.     function fAtPgnt(aStr,photoshop/ target=_blank class=infotextkey>psize,rId)
  16.     ''''''''''''''''''''''''''''''''''''''''''''''''''''''
  17.     'ASP/ target=_blank class=infotextkey>asp 通用文章分页函数(非记录集分页), 返回多个结果, 字典实现
  18.     ' 第二电脑
  19.     '2006-09-04
  20.     '''''''''''''''''''''''''''
  21.     '输入参数说明:
  22.     'aStr 为要分页的字符串
  23.     'pSize 为每页大小数字
  24.     'rId 为 URL 参数 ID, 默认为 apid, 由函数里的 rName 变量定义
  25.     '''''''''''''''''''''''''''
  26.     '输出参数说明:
  27.     'obj("pgnt") 为文章翻页链接
  28.     'obj("info") 为文章统计信息
  29.     'obj("cnt") 为文章内容
  30.     '''''''''''''''''''''''''''
  31.     'sample call:
  32.     '''''''''''''
  33.     '    dim rs, dic
  34.     '    set rs=createObject("adodb.recordset")
  35.     '        rs.open "select * from ctat where aid=15783",conn
  36.     '        
  37.     '        set dic=fAtPgnt(rs("content"),50000,request.queryString("apid"))
  38.     '            response.write dic("pgnt")&"<br/>"
  39.     '            response.write dic("info")&"<br/>"
  40.     '            response.write dic("cnt")&"<br/>"
  41.     '        set dic=nothing
  42.     '        
  43.     '        rs.close
  44.     '    set rs=nothing
  45.     ''''''''''''''''''''''''''''''''''''''''''''''''''''''
  46.         if isNumeric(pSize)=false or len(aStr)=0 then exit function
  47.         if isNull(rId) or rId="" or isNumeric(rId)=false then rId=1 '如果分页查询ID为空则 ID为 1
  48.  
  49.         dim aStrLen '取文章总长度的变量
  50.             aStrLen=len(aStr)
  51.  
  52.         '智能URL字符串替换
  53.         dim rqs, url, rName
  54.             rqs=request.ServerVariables("QUERY_STRING")
  55.             rName="apid"
  56.         if rqs="" then
  57.             url="?"&rName&"="
  58.         elseif instr(rqs,rName)<>0 then    
  59.             url="?"&replace(rqs,rName&"="&rId,"")&rName&"=" 
  60.         else
  61.             url="?"&replace(rqs,"&"&rName&"="&rId,"")&"&"&rName&"="
  62.         end if
  63.  
  64.         dim tPg '定义总页数变量
  65.             tPg=int(aStrLen/-pSize)*-1
  66.  
  67.         if rId<1 then rId=1 '如果分页查询ID小于1, 则为1
  68.         if cLng(rId)>cLng(tPg) then rId=tPg '如果分页查询ID大于总页数, 则为总页数
  69.  
  70.         dim cPg '定义取当前页字符起始位置变量
  71.         if rId=1 then cPg=1 else cPg=pSize*(rId-1)+1 '读取文章的起始位置
  72.  
  73.         dim dic '字义字典变量
  74.         set dic = createObject("scripting.dictionary")
  75.             if aStrLen<=pSize then '如果分页大小大于正文大小时, 执行以下操作
  76.                 dic.add "pgnt", "" '增加页面连接到字典
  77.  
  78.                 '增加统计信息到字典
  79.                 dic.add "info", formatNumber(pSize,0)&"字/页 "&rid&"/"&tPg&"页 共"&_
  80.                 formatNumber(aStrLen,0)&"字"
  81.  
  82.                 dic.add "cnt", mid(aStr,1) '增加内容到字典
  83.                 set fAtPgnt=dic
  84.                 set dic=nothing
  85.                 exit function
  86.             end if
  87.  
  88.             dim i, temp, temp1
  89.             for i=1 to tPg
  90.                 '如果当前查询ID=i, 则加入高亮Css
  91.                 if strComp(rId,i,1)=0 then temp1=" class=""hl"""
  92.                 temp=temp&"<a href="""&url&i&""""&temp1&">第"&i&"页</a> "
  93.             next 
  94.  
  95.             dic.add "pgnt", temp '增加页面连接到字典
  96.  
  97.             '增加统计信息到字典
  98.             dic.add "info", formatNumber(pSize,0)&"字/页 "&rid&"/"&tPg&"页 共"&_
  99.             formatNumber(aStrLen,0)&"字"
  100.  
  101.             dic.add "cnt", mid(aStr,cPg,pSize) '增加文章内容到字典
  102.         set fAtPgnt=dic
  103.         set dic=nothing
  104.     end function 'shawl.qiu code'
  105. %>


"ASP 通用文章分页函数(非记录集分页)"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/ASP/2008-10-07/3070.html


关键字:

关于《ASP 通用文章分页函数(非记录集分页)》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td