search.aspx.vb
来自「是可以运行的电子光盘 有程序与PPT介绍 对于学习VB。NET的有参考意义」· VB 代码 · 共 110 行
VB
110 行
Imports System.Data
Imports System.data.OleDb
Imports System.Configuration.ConfigurationManager
Partial Class WebDisk_Message_Search
Inherits System.Web.UI.Page
'最大页数
Protected MaxPage As Integer
'最大行数
Protected RowSum As Integer
'当前页数
Protected CurPage As Integer
'每页显示数量
Protected PageSz As Integer
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
PanMain.Visible = "false"
End Sub
'管理员回复
Function AdminRel(ByVal relmessage)
If Not relmessage Is dbnull.value Then
AdminRel = relmessage
Else
Return Nothing
End If
End Function
Protected Sub ImgSearch_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImgSearch.Click
Dim i, j As Integer
j = 0
For i = 1 To Len(txtSearch.Text)
If Mid(txtSearch.Text, i, 2) = "||" Then
j = 1
End If
Next
If txtSearch.Text <> "" And txtSearch.Text <> "|" And j <> 1 Then
Dim strconn, strsql As String
Dim myconn As OleDbConnection
Dim mydataAdapter As OleDbDataAdapter
Dim DS As DataSet
Dim mydataview As DataView
'设置数据库连接
strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(AppSettings("databasepath"))
myconn = New OleDbConnection(strconn)
'按输入内容查找
Dim Search As String
' Dim newubb As ubbcode = New ubbcode
Search = Server.HtmlEncode(Replace(txtSearch.Text, "|", "%"))
strsql = "select id,UserName,Title from Message where " & ddlSearch.SelectedItem.Value & " like '%" & Search & "%' order by id desc"
mydataAdapter = New OleDbDataAdapter(strsql, myconn)
DS = New DataSet()
mydataAdapter.Fill(DS, "Message")
mydataview = New DataView(DS.Tables("Message"))
DS = New DataSet()
Try
mydataAdapter.Fill(DS)
'获取总共有多少行
RowSum = DS.Tables(0).Rows.Count
Catch
RowSum = 0
End Try
Dim PageDS As PagedDataSource = New PagedDataSource
PageDS.DataSource = DS.Tables(0).DefaultView
PageDS.AllowPaging = True
'设置每页显示条数,可以修改。
PageDS.PageSize = 20
PageSz = PageDS.PageSize
'没有指定页数时默认为第一页
If Not Request.QueryString("Page") Is Nothing Then
CurPage = Convert.ToInt32(Request.QueryString("Page"))
Else
CurPage = 1
End If
'计算出浏览数据的总页数
If RowSum Mod PageSz > 0 Then
'有余数要加1
MaxPage = RowSum \ PageSz + 1
Else
'正好除尽
MaxPage = RowSum \ PageSz
End If
'设置翻页
PageDS.CurrentPageIndex = CurPage - 1
lblCurrentPage.Text = "共查找到留言 " & RowSum & " 条,分 " & MaxPage & " 页," & "当前为第 " & CurPage & " 页," & "每页 " & PageSz & " 条"
If Not PageDS.IsFirstPage Then
lnkfirst.NavigateUrl = Request.CurrentExecutionFilePath & "?Page=1"
lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath & "?Page=" & (CurPage - 1)
End If
If Not PageDS.IsLastPage Then
lnkNext.NavigateUrl = Request.CurrentExecutionFilePath & "?Page=" & (CurPage + 1)
lnklast.NavigateUrl = Request.CurrentExecutionFilePath & "?Page=" & MaxPage
End If
'数字链接
lblNumber.Text = ""
For i = CurPage - 5 To CurPage + 5
If CurPage = i Then
lblNumber.Text &= "<font color=#FF0000><strong>" & CurPage & "</strong></font> "
ElseIf i <= MaxPage And i >= 1 Then
lblNumber.Text &= "<a href='" & Request.CurrentExecutionFilePath & "?Page=" & i & "'>" & i & "</a> "
End If
Next
'绑定数据
DlMain.DataSource = mydataview
DlMain.DataBind()
PanMain.Visible = "true"
End If
End Sub
End Class
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?