溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

VB.NET中怎么實現(xiàn)自動分頁

發(fā)布時間:2021-07-19 15:56:49 來源:億速云 閱讀:133 作者:Leah 欄目:編程語言

VB.NET中怎么實現(xiàn)自動分頁,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

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 窗體設(shè)計器生成的代碼 "  ''該調(diào)用是 Web 窗體設(shè)計器所必需的。  <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: 此方法調(diào)用是 Web 窗體設(shè)計器所必需的  ''不要使用代碼編輯器修改它。  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  ''長內(nèi)容分頁  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 ''定義每頁至少顯示字符串?dāng)?shù)  pagecount = 0 ''獲得當(dāng)前的頁數(shù)  pa = Request.Params("page")  If (pa = "" Or IsDBNull(pa)) Then  pa = "1" End If  pp = Convert.ToInt32(pa)  ''獲得內(nèi)容  articletxt = contenttext ''判斷頁面的內(nèi)容長度是否大于定義的每頁至少顯示字符串?dāng)?shù)  If (articletxt.Length >= pagesize) Then '' 如果大于字符串?dāng)?shù),則我們可以分頁顯示  t = articletxt.Length / pagesize ''獲得大致的總頁數(shù)  ''根據(jù)目前獲得的頁數(shù)循環(huán)  For i = 0 To t  ''如果查詢開始位置到查詢的范圍超出整個內(nèi)容的長度,那么就不用尋找斷點(分頁點);反之,查找  If (start + pagesize < articletxt.Length) Then  stat = articletxt.IndexOf("</p>", start + pagesize) ''查找</P>分頁點的位置  ''如果找不到  ''If (stat <= 0) Then  ''stat = articletxt.IndexOf("</p>", start + pagesize) ''查找</p>分頁點的位置;  這里您可以自己設(shè)置分頁點的判斷  ''End If  End If  ''Response.Write("''" & stat & "''")  If (stat <= 0) Then  ''如果找不到分頁點,說明不能分頁,也就不需要做其他的勞動了;否則,就進行分頁  ''articletext = articletxt ''將結(jié)果付給要導(dǎo)出的變量  ''Label1.Text = articletext & stat  ''Exit Sub  Else  stops = stat ''分頁點的位置也就作為這一頁的終點位置  If (start + pagesize >= articletxt.Length) Then ''如果起始位置到查詢的范圍超出整個內(nèi)容的長度,  那么這一頁的終點位置為內(nèi)容的終點  stops = articletxt.Length  End If  If (pp = i + 1) Then ''如果是當(dāng)前,那么輸出當(dāng)前頁的內(nèi)容  articletext = articletxt.Substring(start, stops - start) ''  取內(nèi)容的起始位置到終點位置這段字符串輸出  Label1.Text = articletext End If  start = stat ''將終點位置作為下一頁的起始位置  pagecountpagecount = pagecount + 1 ''獲得實際頁總數(shù)  ''Response.Write("-" & pagecount & "-")  End If  Next  End If  ''分頁部分(這里就簡單多了)  ''定義分頁代碼變量  If (pagecount > 1) Then ''當(dāng)頁數(shù)大于1的時候我們顯示頁數(shù)  ''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 ''如果是當(dāng)前頁,加粗顯示  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

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI