长文章用分页符来分页显示

yoken 阅读:1633 2007-10-02 07:51:00 评论:0
长文章页用分页符来显示,想用ASP也实现这种功能,可发现只有根据字数进行分页的方法,但这种方法

有一个BUG,就是如果你文章内容中如果有UBB代码,它很容易造成在
程序代码: [ 复制代码到剪贴板 ]
之间进行分页,或者

干脆就把[code]分解成了[co和de],这样文章显示就会出现错误。

以下几个步骤将能够完全实现。

第一步:

按照正常的文章系统一路做下去,后台的文章添加,文章的检索,和文章的详细页,都是常规方式操

作,这里不加描述,请参阅相关帖子。只是在文章添加时,在你想让它分页的地方加上分页符:“|||”

(当然这个符号你可以随便用,比如:[page]、&&&、###、@@@……,只要它不会在文章要正常显示的地

方出现就行了。)
我用了四个页面,输入页(index.asp)、输入完成页(add.asp)、文章列表页(view.asp)、文章

内容页(display.asp),前三个都是不用处理的页面,看下面的图片我想一般的小鸟就会做了,关键是最后

一个displasy.asp,所有实现分页的代码都在这里。

第二步:

在文章正文内容的动态数据部分做一些手脚,下面是代码和解释:

<%
''这里要处理接收到的分页参数,以此来进行显示第几页的内容
''下面这两句就是如果没有page这个参数传来就让变量pageNum取显示第一页的值:0
If Request("page")="" Then
pageNum=0
''否则就给变量赋值为传递来的page里的参数,来显示其他页
Else
pageNum=Request("page")
End if
%>
<%
''如果加了可选执行UBB代码,可以加上下面的代码
''rs("NoUBB")是数据库里关于禁用UBB的字段,0为禁用,1为执行
If rs("NoUBB")=0 then
''为避免和文章内容相连出现错误,用Replace函数把分页代码“|||”的前后各加一个全角的
''rs("content")是数据库里正文的字段,在这里加上UBB或者禁用UBB
Content=Replace((unHTML(rs("content"))),"|||"," ||| ")
Elseif rs("NoUBB")=1 then
Content=Replace((ubb(rs("content"))),"|||"," ||| ")
End if
%>
<%
''这里就是关键了
''我们用split函数将文章分段取出存入变量content
ContentStr=split(Content,"|||")
''按照刚才从URL参数中取得的要显示那面的那个变量,就循环显示一页
For i=pageNum to pageNum
%>
<!--这里将是文章正文内容-->
<%=ContentStr %>
<% Next %>

</td>
</tr>
<tr>
<td height="30" class="ClassName">本文共分
<%
''分页的地方,用ubound(ContentStr)取得文章一共分为几页,注意这里是从0开始,所以总页数需要加1
For p = 0 to ubound(ContentStr)

''链接还是本页面,只不过文章ID参数后面还要加上一个分页的参数:page
%> 
<a href="display.asp?ID=<%=rsquest("ID")%>&page=<%=p%>" class=""><%=p+1%></a>
<% Next %>页


很简单吧,要是把注释都删除,才15行代码,不过还要加工一下,让它能有上一页、下一页和当前页突出的功能就完善了。

转载保留链接!网址:https://80920140.com/post/66.html

标签:腾讯
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源; 2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任; 3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
关注我们

扫一扫关注我们,了解最新精彩内容