经常会碰到内容比较长的文章,用以下方法可以控制显示的长度
Dim
sql
As
String
Dim myconn As SqlClient.SqlConnection
Dim myCmd As SqlClient.SqlCommand
Function getdatareader() Function getdatareader(ByVal str As String) As SqlClient.SqlDataReader
myCmd = New SqlClient.SqlCommand(str, myconn)
myconn.Open()
getdatareader = myCmd.ExecuteReader()
End Function
Function executesql() Function executesql(ByVal sql As String)
myCmd = New SqlClient.SqlCommand(sql, myconn)
myconn.Open()
myCmd.ExecuteNonQuery()
myconn.Close()
End Function
Private Sub Page_Load() 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() 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() 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
Dim myconn As SqlClient.SqlConnection
Dim myCmd As SqlClient.SqlCommand
Function getdatareader() Function getdatareader(ByVal str As String) As SqlClient.SqlDataReader
myCmd = New SqlClient.SqlCommand(str, myconn)
myconn.Open()
getdatareader = myCmd.ExecuteReader()
End Function
Function executesql() Function executesql(ByVal sql As String)
myCmd = New SqlClient.SqlCommand(sql, myconn)
myconn.Open()
myCmd.ExecuteNonQuery()
myconn.Close()
End Function
Private Sub Page_Load() 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() 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() 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