ASP 通用文章分页函数:非记录集分页 (2)
if isNumeric(pSize)=false or len(aStr)=0 then exit function
if isNull(rId) or rId="" or isNumeric(rId)=false then rId=1 '如果分页查询ID为空则 ID为 1
dim aStrLen '取文章总长度的变量
aStrLen=len(aStr)
'智能URL字符串替换
dim rqs, url, rName
rqs=request.ServerVariables("QUERY_STRING")
rName="apid"
if rqs="" then
url="?"&rName&"="
elseif instr(rqs,rName)<>0 then
url="?"&replace(rqs,rName&"="&rId,"")&rName&"="
else
url="?"&replace(rqs,"&"&rName&"="&rId,"")&"&"&rName&"="
end if
dim tPg '定义总页数变量
tPg=int(aStrLen/-pSize)*-1
if rId<1 then rId=1 '如果分页查询ID小于1, 则为1
if cLng(rId)>cLng(tPg) then rId=tPg '如果分页查询ID大于总页数, 则为总页数
dim cPg '定义取当前页字符起始位置变量
if rId=1 then cPg=1 else cPg=pSize*(rId-1)+1 '读取文章的起始位置
dim dic '字义字典变量
set dic = createObject("scripting.dictionary")
if aStrLen<=pSize then '如果分页大小大于正文大小时, 执行以下操作
dic.add "pgnt", "" '增加页面连接到字典
'增加统计信息到字典
dic.add "info", formatNumber(pSize,0)&"字/页 "&rid&"/"&tPg&"页 共"&_
formatNumber(aStrLen,0)&"字"
dic.add "cnt", mid(aStr,1) '增加内容到字典
set fAtPgnt=dic
set dic=nothing
exit function
end if
dim i, temp, temp1
for i=1 to tPg
'如果当前查询ID=i, 则加入高亮CSS类
if strComp(rId,i,1)=0 then temp1=" class=""hl"""
temp=temp&"<a href="""&url&i&""""&temp1&">第"&i&"页</a> "
next
dic.add "pgnt", temp '增加页面连接到字典

[
1]
[2] [
3]

2008-03-10 01:22:00 出处:
中国设计秀cnwebshow.com