📄 guestbook.aspx
字号:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<Script Language="VB" Runat="Server">
'此过程用来显示留言内容
Sub BindList(PageNo As Integer)
Dim ConnString As String = "workstation id=SONGWEI;packet size=4096;user id=sa;password=sql;data source=SONGWEI;persist se" & _
"curity info=False;initial catalog=vodweb"
Dim strSQL As String = "Select * From 访客留言板 Order By 留言日期 Desc"
Dim objCmd As New SqlDataAdapter(strSQL, ConnString)
Dim DS As New DataSet()
objCmd.Fill(DS, "访客留言板")
Dim myTable As DataTable = DS.Tables("访客留言板")
'显示留言数目
Dim TotalRecord As Integer = myTable.Rows.Count
ShowTotalRecord.Text = TotalRecord
'计算及显示留言总页数
Dim TotalPage As Integer
If TotalRecord < PageSize.SelectedItem.Value Then
TotalPage = 1
Else
If TotalRecord Mod PageSize.SelectedItem.Value <> 0 Then
TotalPage = TotalRecord \ PageSize.SelectedItem.Value + 1
Else
TotalPage = TotalRecord / PageSize.SelectedItem.Value
End If
End If
ShowTotalPage.Text = TotalPage
'创建 tempTable 数据表,其结构与【访客留言板】相同,tempTable 数据表
'保存的数据会连接到 Repeater 控件,以显示留言内容。
Dim tempTable As DataTable = myTable.Clone()
Dim I, J As Integer
For I = (PageNo -1) * PageSize.SelectedItem.Value To PageNo * PageSize.SelectedItem.Value - 1
If I > myTable.Rows.Count -1 Then Exit For
Dim newRow As DataRow = tempTable.NewRow()
For J = 0 To myTable.Columns.Count -1
newRow(myTable.Columns(J).ColumnName) = myTable.Rows(I).Item(J)
Next
tempTable.Rows.Add(newRow)
Next
myGuestbook.DataSource = tempTable
myGuestbook.DataBind()
End Sub
'判断是否应该显示 [首页]、[上一页]、[下一页]、[页尾] 钮
Sub ShowWhatButton()
'判断是否应该显示 [页首]、[上一页] 钮
If PageList.SelectedIndex = 0 Then
firstButton.Visible = False
preButton.Visible = False
Else
firstButton.Visible = True
preButton.Visible = True
End If
'判断是否应该显示 [下一页]、[尾页] 钮
If PageList.SelectedIndex = PageList.Items.Count -1 Then
nextButton.Visible = False
lastButton.Visible = False
Else
nextButton.Visible = True
lastButton.Visible = True
End If
End Sub
'此过程用来创建快速换页菜单
Sub PageListItem()
Dim I As Integer
PageList.Items.Clear()
For I = 0 To ShowTotalPage.Text -1
PageList.Items.Add("第 " & I + 1 & " 页")
Next
End Sub
Sub Page_Init(sender As Object, e As Eventargs)
BindList(1)
PageListItem()
ShowWhatButton()
End Sub
'当用户选择浏览其它页面时会执行此过程
Sub PageList_Change(sender As Object, e As EventArgs)
BindList(PageList.SelectedIndex + 1)
ShowWhatButton()
End Sub
'当用户更改每页显示的留言数目时会执行此过程
Sub PageSize_Change(sender As Object, e As Eventargs)
PageList.SelectedIndex = 0
BindList(PageList.SelectedIndex + 1)
PageListItem()
ShowWhatButton()
End Sub
'此过程根据用户按下的按钮来决定应该显示哪一页的数据
Sub PageChange(sender As Object, e As CommandEventArgs)
Select Case e.CommandArgument
Case "firstPage"
PageList.SelectedIndex = 0
Case "prePage"
PageList.SelectedIndex -= 1
Case "nextPage"
PageList.SelectedIndex += 1
Case "lastPage"
PageList.SelectedIndex = ShowTotalPage.Text - 1
Case "addRecord"
Response.Redirect("AddRecord.aspx")
End Select
BindList(PageList.SelectedIndex + 1)
ShowWhatButton()
End Sub
</Script>
<Html>
<Body>
<Center><Img Src="image/title.jpg"></Center>
<Form Runat="Server" ID="Form1">
<Img Src="image/run.gif" >
<a href=main.htm runat=server target=_blank id=hr1 >回首页</a>
<Center>
<Asp:ImageButton Runat="Server" ImageUrl="image/addButton.gif"
CommandArgument="addRecord" OnCommand="PageChange" ID="Imagebutton1"/>
<Asp:ImageButton Runat="Server" Id="firstButton" ImageUrl="image/firstButton.gif"
CommandArgument="firstPage" OnCommand="PageChange" />
<Asp:ImageButton Runat="Server" Id="preButton" ImageUrl="image/preButton.gif"
CommandArgument="prePage" OnCommand="PageChange" />
<Asp:ImageButton Runat="Server" Id="nextButton" ImageUrl="image/nextButton.gif"
CommandArgument="nextPage" OnCommand="PageChange" />
<Asp:ImageButton Runat="Server" Id="lastButton" ImageUrl="image/lastButton.gif"
CommandArgument="lastPage" OnCommand="PageChange" /><Br>
共有 <Asp:Label Runat="Server" Id="ShowTotalPage" /> 页,
<Asp:Label Runat="Server" Id="ShowTotalRecord" /> 条留言,
目前位于<Asp:DropDownList Runat="Server" Id="PageList"
AutoPostBack="True" OnSelectedIndexChanged="PageList_Change" />
,每页显示
<Asp:DropDownList Runat="Server" Id="PageSize" AutoPostBack="True"
OnSelectedIndexChanged="PageSize_Change">
<Asp:ListItem Value="5" Selected="True">5 条</Asp:ListItem>
<Asp:ListItem Value="10">10 条</Asp:ListItem>
<Asp:ListItem Value="15">15 条</Asp:ListItem>
<Asp:ListItem Value="20">20 条</Asp:ListItem>
<Asp:ListItem Value="50">50 条</Asp:ListItem>
<Asp:ListItem Value="100">100 条</Asp:ListItem>
</Asp:DropDownList> 留言
<Hr>
</Center>
<Asp:Repeater Runat="Server" Id="myGuestbook">
<HeaderTemplate>
<Table Width="90%" CellPadding="5" CellSpacing="0">
</HeaderTemplate>
<ItemTemplate>
<Tr>
<Td RowSpan="2" Width="10%">
<Img Src="<%# Container.DataItem("图片") %>">
</Td>
<Td Width="20%" BgColor="#FFFF00">
留言者:<A Href="mailto:<%# Container.DataItem("电子邮件") %>">
<%# Container.DataItem("留言者") %></A>
</Td>
<Td Width="30%" BgColor="#FFFF00">
IP 地址:<%# Container.DataItem("IP") %>
</Td>
<Td Width="40%" BgColor="#FFFF00">
留言日期:<%# Container.DataItem("留言日期") %>
</Td>
</Tr>
<Tr BgColor="#FFFFCC">
<Td ColSpan="3">
<%# Container.DataItem("留言内容") %>
</Td>
</Tr>
</ItemTemplate>
<AlternatingItemTemplate>
<Tr>
<Td RowSpan="2" Width="10%">
<Img Src="<%# Container.DataItem("图片") %>">
</Td>
<Td Width="20%" BgColor="#99FF99">
留言者:<A Href="mailto:<%# Container.DataItem("电子邮件") %>">
<%# Container.DataItem("留言者") %></A>
</Td>
<Td Width="30%" BgColor="#99FF99">
IP 地址:<%# Container.DataItem("IP") %>
</Td>
<Td Width="40%" BgColor="#99FF99">
留言日期:<%# Container.DataItem("留言日期") %>
</Td>
</Tr>
<Tr BgColor="#CCFFCC">
<Td ColSpan="3">
<%# Container.DataItem("留言内容") %>
</Td>
</Tr>
</AlternatingItemTemplate>
<SeparatorTemplate>
<Tr>
<Td ColSpan="4"><Hr></Td>
</Tr>
</SeparatorTemplate>
<FooterTemplate>
</Table>
</FooterTemplate>
</Asp:Repeater>
</Form>
</Body>
</Html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -