Class AutoPaging
'*************************************************************
'目 的:自动将长文章分页输出
'属 性:Splitchar:分页搜索标志。以一维数组方式输入,默认array("<br/>","<BR>","<Br>","<bR>")
' PagingString:要进行分页的字符串
' PagingSize:分页长度
' CurrentPage:当前输出页码
' DefaultRange:默认搜索分页标志范围
' StepRange:搜索步长
'方 法:getTotalPageCount():返回总分页数
' OutputString:输出当前分页内容
'*************************************************************
public Splitchar'分页搜索标志,数组
public PagingString'分页字符串
public PagingSize'页面最大长度
public CurrentPage'当前页码
public DefaultRange'默认起始范围
public StepRange'步长
private Truncate'2维数组m,n。m0=页码、m1=起始字符、m2=结束字符,n=总页数
private intStart'开始位置
private intLen'截取长度
private tmpStr
private Range'起始范围
private Sub Class_Initialize()
Splitchar=array("<br/>","<BR>","<Br>","<bR>")
PagingSize = 2000
DefaultRange=1
StepRange = 1
intStart = 0
intEnd = 0
End Sub
public Function getTotalPageCount()'返回总页数
if len(PagingString) mod PagingSize > 0 then
getTotalPageCount = int(len(PagingString) / PagingSize) + 1
else
getTotalPageCount = len(PagingString) / PagingSize
end if
End Function
public Sub OutputString
redim Truncate(2,getTotalPageCount())
For tmpI = 0 to getTotalPageCount()
Truncate(0,tmpI)=tmpI
Next
For tmpI = 1 to ubound(Truncate,2)
if Truncate(0,tmpI) = 1 then
Truncate(1,tmpI) = 1
else
Truncate(1,tmpI)=Truncate(1,tmpI - 1) + Truncate(2,tmpI - 1)
end if
Range = DefaultRange
Do while Range < PagingSize
tmpStr=right(mid(PagingString,Truncate(1,tmpI),PagingSize),Range)
For tmpInt=0 to ubound(Splitchar)
if instr(1,tmpStr,Splitchar(tmpInt)) > 0 then
Truncate(2,tmpI) = (PagingSize - (len(tmpStr) - instr(1,tmpStr,Splitchar(tmpInt)))) - 1
exit do
end if
Next
Range = Range + StepRange
Loop
if tmpI = Cint(CurrentPage) then
intStart = Truncate(1,tmpI)
intLen = Truncate(2,tmpI)
end if
next
if Cint(CurrentPage) = getTotalPageCount() then
response.write(mid(PagingString,intStart))'如果当前分页为最后一页,则取剩下的所有字符
else
response.write(mid(PagingString,intStart,intLen))
end if
End Sub
End Class
调用示例
set paging=new autopaging
with paging
.pagingstring=Content '此为从数据库取得数据
.pagingsize=2000
.splitchar=array("<br/>","<BR>","<Br>","<bR>","<p>","<P>")
end with
TotalPage = paging.gettotalpagecount()
Page=request("page")
if Page="" or Cint(Page)<1 then
Page=1
else
if Cint(Page) > TotalPage then
Page = TotalPage
else
if CheckValid(Page)=false or not isnumeric(Page) then
response.write("页码参数非法,请返回!")
response.end
end if
end if
end if
paging.currentpage=Page
paging.outputstring
set paging=nothing
分页页码部分:
<%
if TotalPage > 1 then
For i=1 to TotalPage
if i = Cint(Page) then
response.write("<b>" & i & "</b> ")
else
response.write("<a href=readnews.asp?newsid=" & NewsID & "&bigclassid=" & BigClassID & "&smallclassid=" & SmallClassid & "&specialid=" & SpecialID & "&page=" & i & ">[" & i & "]</a> ")
end if
Next
end if
%>
应用示例
http://www.chceg.com/readnews.asp?newsid=227&bigclassid=9&smallclassid=36&specialid=5
缺陷,输出内容中不可包含table标签。
分享到:
相关推荐
根据提供的信息,我们可以深入探讨网页超长文章自动分页的相关技术细节与实现方法。自动分页功能对于提高用户体验、优化页面加载性能具有重要意义。接下来,将详细解释如何在网页上实现这一功能,并涵盖相关的HTML、...
自动分页的基本思想是将一篇长文章根据预设的每页显示字数或段落数进行切割,然后通过导航链接让用户逐页浏览。ASP中可以使用内置的字符串处理函数来实现这个过程。 二、ASP分页核心步骤 1. **数据获取**:首先,...
- `flag`:分页模式(自动分页或通过标记分页)。 - `startpage`:初始页面。 - `TopShowStyle` 和 `DownShowStyle`:顶部和底部导航样式。 3. **变量定义**: - `currentSet`:当前页码。 - `CutFlag`:分隔符...
在网页设计和开发中,有时候我们遇到的文章内容可能非常长,为了提高用户体验,避免一次性加载过多内容导致页面加载慢或者用户滚动浏览不便,通常会采用“文章内容过长自动分页”的技术。这个技术主要是通过编程实现...
本篇文章将详细介绍如何在ASP.NET中实现新闻长内容的自动分页功能。 首先,我们需要理解分页的基本原理。分页是将一个大的数据集合(如新闻列表)分割成若干小部分,每次只加载一部分到页面上,用户可以通过导航...
在PHP开发中,长文章分页是一个常见的需求,特别是在处理新闻、博客或论坛等大量文本内容的场景。分页能够帮助用户更有效地浏览和阅读,同时减轻服务器的负载。本篇将深入探讨PHP实现长文章分页的关键技术和方法。 ...
介绍一个完美php文章分页类。 __construct是SubPages的构造函数,用来在创建类的时候自动运行. $each_disNums 每页显示的条目数 nums 总条目数 current_num 当前被选中的页 ...
总监看到发布的文章过长导致版式也太长不好看,要求后台发布文章可控制分页。便做了一个由tinyMCE编辑器控制的分页。只要插入分页符即按分页符对文章分页,否则默认按字长(2000)分页。附上jsp中用到的代码,以及...
**自动分页** 自动分页更智能,通常借助JavaScript或者Ajax实现,无需用户每次点击按钮刷新整个页面。 1. **JavaScript分页**:在客户端使用JavaScript,通过遍历文章内容,计算每页的结束位置,并动态创建HTML来...
在本文中,我们将讨论如何利用JS实现自动分页效果,这在处理大量数据或内容时非常有用,能提高用户体验并优化页面加载速度。 首先,我们来看一下基本的HTML结构。在这个例子中,我们有两个主要的div元素,一个用于...
`ContentPage.class.php`是一个简单的易用分页类,它的设计目标是克服自动分页的局限性,确保文章的完整性。这个类可能包含以下功能: 1. **内容分析**:分析输入的文章内容,识别段落、图片等元素,避免它们在分页...
4. 自动分页:利用算法分析文本内容,如段落、标点符号等,尽量保证分页在自然的语意边界上,避免将一句话分隔到两页。这种方法最为智能,但实现起来较为复杂。 在Android平台上,处理电子书TXT分页通常需要编程...
本篇文章将详细探讨“PHP如何进行分页”以及“为什么需要使用分页类来处理分页”。 首先,让我们看看在不使用分页类的情况下,如何实现简单的分页。基本思路是通过SQL查询限制返回的数据量,结合前端页面的页码控制...
在ASP.NET开发中,当遇到文章内容过长,影响用户体验时,通常会采用分页显示的方式来解决这一问题。本文将详细介绍如何在ASP.NET中实现文章内容的分页显示,包括基本概念、步骤以及相关的技术要点。 分页显示是网页...
描述中的“一篇长的文章,你不想分页吗?”暗示了这个脚本适用于那些需要将长篇内容拆分成多页显示的情况。 从提供的部分代码来看,这里采用两种分页方式:1)根据字数自动分页;2)根据特定分页标记`[NextPage]`...
本文将详细讲解如何在ASP中实现长文章的自动分页功能,以及如何根据字节数和行数进行分页。 首先,理解分页的基本原理:将一篇长文章分割成若干部分,每部分作为一个独立的页面呈现。用户可以通过导航链接在这些...
在IT行业中,分页是一种常见的数据展示策略,尤其在处理大量文本内容时,如长文章。"js+.net长文章分页----------C#.Net实例代码"这个标题表明我们将讨论如何结合JavaScript(js)和.NET(C#)技术来实现一个长文章...
本篇文章将详细探讨如何在C#中实现ListView控件的自动分页功能。 ListView控件在Windows Forms或WPF应用中广泛使用,它可以显示一列或几列的文本或图像,用户可以通过滚动条浏览内容。然而,当数据量过大时,一次性...