设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 网络编程 >> VB.NET >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
VB6.0初学者的10个编程小…
用VBScript自制IE工具栏…
CSS+VBScript制作的酷酷…
vb.net常用函数
用ASP、VB和XML建立互联…
使用ASP、VB和XML建立运…
VB.NET编程调用迅雷下载…
VB.NET中快速访问注册表…
VB.NET中使用ListView控…
VB.Net中的操作符应用实…
  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 = "<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

(责任编辑 火凤凰 sunsj@51cto.com  TEL:(010)68476636-8007)



频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-7 17:59:22
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持