欢迎光临
我们一直在努力

VB.Net 开发的长内容自动分页功能-.NET教程,VB.Net语言

建站超值云服务器,限时71元/月

长内容即可以手动分页也可以自动分页。

采用自动分页功能,只需告诉计算机每页大约字数就可以了。

下面附源码,方便自己,也方便大家研究:

public class webform1

inherits system.web.ui.page

protected withevents label1 as system.web.ui.webcontrols.label

protected withevents label2 as system.web.ui.webcontrols.label

protected withevents label3 as system.web.ui.webcontrols.label

protected withevents label4 as system.web.ui.webcontrols.label

#region " web 窗体设计器生成的代码 "

该调用是 web 窗体设计器所必需的。

<system.diagnostics.debuggerstepthrough()> private sub initializecomponent()

end sub

private sub page_init(byval sender as system.object, byval e as system.eventargs) handles mybase.init

codegen: 此方法调用是 web 窗体设计器所必需的

不要使用代码编辑器修改它。

initializecomponent()

end sub

#end region

private sub page_load(byval sender as system.object, byval e as system.eventargs) handles mybase.load

在此处放置初始化页的用户代码

pages()

end sub

长内容分页

sub pages()

dim i, start, stops, t, stat, statt, pp, pagecount, pagesize, articleid as integer

dim pa, articletxt, articletext, contenttext, html as string

contenttext = "<p>aaaaaaa</p><p>bbbbbbbbbbbb</p><p>cccccccccccccccc</p>"

变量初始值

stat = 0

statt = 0

start = 0 开始查询的字符串位置,初始为0

stops = 0

pagesize = 2 定义每页至少显示字符串数

pagecount = 0

获得当前的页数

pa = request.params("page")

if (pa = "" or isdbnull(pa)) then

pa = "1"

end if

pp = convert.toint32(pa)

获得内容

articletxt = contenttext

判断页面的内容长度是否大于定义的每页至少显示字符串数

if (articletxt.length >= pagesize) then 如果大于字符串数,则我们可以分页显示

t = articletxt.length / pagesize 获得大致的总页数

根据目前获得的页数循环

for i = 0 to t

如果查询开始位置到查询的范围超出整个内容的长度,那么就不用寻找断点(分页点);反之,查找

if (start + pagesize < articletxt.length) then

stat = articletxt.indexof("</p>", start + pagesize) 查找</p>分页点的位置

如果找不到

if (stat <= 0) then

stat = articletxt.indexof("</p>", start + pagesize) 查找</p>分页点的位置;这里您可以自己设置分页点的判断

end if

end if

response.write("" & stat & "")

if (stat <= 0) then

如果找不到分页点,说明不能分页,也就不需要做其他的劳动了;否则,就进行分页

articletext = articletxt 将结果付给要导出的变量

label1.text = articletext & stat

exit sub

else

stops = stat 分页点的位置也就作为这一页的终点位置

if (start + pagesize >= articletxt.length) then 如果起始位置到查询的范围超出整个内容的长度,那么这一页的终点位置为内容的终点

stops = articletxt.length

end if

if (pp = i + 1) then 如果是当前,那么输出当前页的内容

articletext = articletxt.substring(start, stops – start) 取内容的起始位置到终点位置这段字符串输出

label1.text = articletext

end if

start = stat 将终点位置作为下一页的起始位置

pagecount = pagecount + 1 获得实际页总数

response.write("-" & pagecount & "-")

end if

next

end if

分页部分(这里就简单多了)

定义分页代码变量

if (pagecount > 1) then 当页数大于1的时候我们显示页数

response.write(pp)

if (pp – 1 > 0) then 显示上一页,方便浏览

html += "<a href=?id=" & articleid & "&page=" & (pp – 1) & ">[上一页]</a> "

else

if pp = 1 then

html += "[<font color=#cccccc>上一页</font>] "

else

html += "<a href=?id=" & articleid & "&page=" & (1) & ">[上一页]</a> "

end if

end if

for i = 1 to pagecount

if (i = pp) then 如果是当前页,加粗显示

html += "<b>[" & i & "]</b> "

else

html += "<a href=?id=" & articleid & "&page=" & i & ">[" & i & "]</a> "

end if

next

if (pp + 1 > pagecount) then 显示下一页,方便浏览

if pp = pagecount then

html += "[<font color=#cccccc>下一页</font>] "

else

html += "<a href=?id=" & articleid & "&page=" & (pagecount) & ">[下一页]</a></p>"

end if

else

html += "<a href=?id=" & articleid & "&page=" & (pp + 1) & ">[下一页]</a></p>"

end if

end if

label2.text = html

end sub

end class

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » VB.Net 开发的长内容自动分页功能-.NET教程,VB.Net语言
分享到: 更多 (0)

相关推荐

  • 暂无文章