VB.Net开发的长内容自动分页功能

前端之家收集整理的这篇文章主要介绍了VB.Net开发的长内容自动分页功能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

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

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,

al 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 = "

aaaaaaa

bbbbbbbbbbbb

cccccccccccccccc

"

''变量初始值

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("

",start + pagesize) ''查找</P>分页点的位置

''如果找不到

''If (stat <= 0) Then

''stat = articletxt.IndexOf("",start + pagesize) ''查找分页点的位置;

这里您可以自己设置分页点的判断

''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>

"

End If

Else

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

End If

End If

Label2.Text = html

End Sub

End Class

原文链接:https://www.f2er.com/vb/262811.html

猜你在找的VB相关文章