文章内容分页

    经常会碰到内容比较长的文章,用以下方法可以控制显示的长度

Dim sql As String
    Dim myconn As SqlClient.SqlConnection
    Dim myCmd As SqlClient.SqlCommand

    Function getdatareader(ByVal str As String) As SqlClient.SqlDataReader
        myCmd = New SqlClient.SqlCommand(str, myconn)
        myconn.Open()
        getdatareader = myCmd.ExecuteReader()
    End Function

    Function executesql(ByVal sql As String)
        myCmd = New SqlClient.SqlCommand(sql, myconn)
        myconn.Open()
        myCmd.ExecuteNonQuery()
        myconn.Close()
    End Function

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        myconn = New SqlClient.SqlConnection
        myconn.ConnectionString = (xinxi.stringconnection)
        If Not Page.IsPostBack Then
            newsid = Page.Request("newsid")
            ct = Integer.Parse(Request.QueryString("page"))
            sql = "select newsname,newscontent,addname,adddate,viewscount from news where newsid=" & newsid
            Dim reader As SqlClient.SqlDataReader = getdatareader(sql)
            If reader.Read() Then
                title.Text = reader.Item(0)
                str = reader.Item(1)
                pagesize = 1000
                strl = str.Length

                author.Text = reader.Item(2)
                time.Text = reader.Item(3)
                Label2.Text = reader.Item(4)
                reader.Close()
                myconn.Close()
                substr()
            End If
            sql = "update news set viewscount=viewscount+1 where newsid=" & newsid
            executesql(sql)
        End If
        '在此处放置初始化页的用户代码

    End Sub

    Dim newsid As Integer
    Dim ct As Integer
    Dim str As String  '字符
    Dim strl As Integer  '字符总长度
    Dim pagesize As Integer  '每页显示的字符数

    Sub substr()

        If strl = (strl / pagesize) * pagesize Then '看看页面的总记录是否能被每页的记录数整除
            Dim i As Integer
            For i = 1 To strl / pagesize
                Response.Write("页:<a href='new.aspx?act=new&action=news&newsid=" & newsid & "&page=" & i & "'" + ">" & (i) & "</" & "a>")
            Next
            Dim s As String = str.Substring(pagesize * ct - pagesize, pagesize)
            Label1.Text = s
        ElseIf ct * pagesize > strl Then '在不被整除的情况下,最后一页的设置,如字符长13,每页3,则处理最后那一页的显示
            Dim i As Integer
            For i = 1 To (strl / pagesize) + 1
                Response.Write("页:<a href='new.aspx?act=new&action=news&newsid=" & newsid & "&page=" & i & "' /" + "a>")
            Next
            Dim s As String = str.Substring((ct - 1) * pagesize, strl - (ct - 1) * pagesize)
            Label1.Text = s
        Else '在不被整除的情况下其他页面的显示设置
            Dim i As Integer
            For i = 1 To strl / pagesize + 1
                Response.Write("页:<a href='new.aspx?act=new&action=news&newsid=" & newsid & "&page=" & i & "'" + ">" + (i) + "</" + "a>")
            Next
            Dim s As String = str.Substring(pagesize * ct - pagesize, pagesize)
            Label1.Text = s
        End If
    End Sub


 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Str = reader.Item(1)
pagesize = 1000
strl = Str.Length

substr()
end sub 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值