日期:2014-05-16  浏览次数:20843 次

ASP 自定字符分页问题
代码如下了,去掉了一些在此贴没有什么作用的,希望不会难阅读

情况:早上在学着写内容分页,在网上找了一些代码拼了起来,按字数分数已经OK了,然后尝试自定字符分页,然后出现问题了,3种情况……


1.没有分页
2.如果有[换页],按[换页]这个符号分页
3.没有[换页],按字数分页


以下半成品,我实在不会写了……望大神指点


AC_Str = "123456789[换页]123456789"  '文章的内容
number = 1200  '自动分页字数
View_number = Len(AC_Str)  '计算文章总字数
l_c_n = Split(AC_Str,"[换页]")  '计算换页符号数量
a_l_c_n = Ubound(l_c_n) + 1  '全文[换页]总数
If View_number mod number = 0 Then  '如果没有分页
    Pagecount = fix(View_number/number)
ElseIf InStr(ArticleStr,"{$换行$}") > 0 Then  '如果有换页符号,分页总数
    Pagecount = fix(View_number/number)  '这里不会写……
Else  '自动分页字数,分页总数
    Pagecount = fix(View_number/number) + 1
End If
i = (Page-1) * number + 1
j = number
Response.write mid(AC_Str,i,j)&"<br />"  '这里不知是否需要修改
asp

------解决方案--------------------
你的分页符号到底是[换页]还是{$换行$},你的代码里面{$换行$}干啥用的。。

totalpage=0
currentpage=1'当前页,测试用,实际通过request.querystrign获取
pagenumber=8'按字数分页,每页显示多少个字数

function getStr(s)
  pagebynumber=false'是否按照字数分页
  arr=split(s,"[换页]")
  totalpage=ubound(arr)+1
  if totalpage=1 then'为1说明没有“[换页]”手动分页,按照字符计算总页数
    pagebynumber=true
    totalchar=len(s)
if totalchar mod pagenumber =0  then
  totalpage=totalchar \ pagenumber  
else
  totalpage=totalchar \ pagenumber +1
end if
  end if
  if currentpage<1 then  currentpage=1
  if currentpage>totalpage then currentpage=totalpage
  
  if pagebynumber then'按字数分页
    if totalpage=1 then'不足字数
  getStr=s
else
  getStr=mid(s,(currentpage-1)*pagenumber+1,pagenumber)
end if
  else
    getStr=arr(currentpage-1)'通过关键字
  end if
end function

s = "123456789abcdefghijklmn"  '按字数分
currentpage=1
response.write getStr(s)&"<br/>"
currentpage=2
response.write getStr(s)&"<br/>"
currentpage=3
response.write getStr(s)&"<br/>"

'''''''''''''''''''''''''''''''''''''''''''''

s = "1234567[换页]89ab[换页]cdefg[换页]hij[换页]klmn"  '按[换页]
currentpage=1
response.write getStr(s)&"<br/>"
currentpage=2
response.write getStr(s)&"<br/>"
currentpage=3
response.write getStr(s)&"<br/>"