|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
长文章页用分页符来显示,想用ASP也实现这种功能,可发现只有根据字数进行分页的方式,但这种方式有一个BUG,就是假如你文章内容中假如有UBB代码,它很轻易造成在[code][/code]之间进行分页,或者干脆就把[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行代码,不过还要加工一下,让它能有上一页、下一页和当前页突出的功能就完善了。 已测试过,除非文章里出现那个分页符,否则各种类型都不会出错,当然可以把|||的数量加大比如:||||||,再六个“|”以下在文章出现都没事,但六个以上就会分页了,选择一个好的分页符就可以了 返回类别: 教程 上一教程: 一个把WORD转变成HTML的程序 下一教程: ASP中轻松实现记录集分页 您可以阅读与"用ASP实现长文章用分页符来分页显示"相关的教程: · 在ASP中轻松实现记录集分页显示 · 长文章分页显示思路及页码条显示新思路 · 用ASP实现分页显示的具体讲解 · ASP中实现分页显示的七种武器 · ASP中关于帖子分页显示的基本方式 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |