📄 guestbooktomato.aspx
字号:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<Script Language="VB" Runat="Server">
'此过程用来显示留言内容
Sub BindList(PageNo As Integer)
Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("data\GB.mdb")
Dim strSQL As String = "Select * From guessbooktomato Order By times Desc"
Dim objCmd As New OleDbDataAdapter(strSQL, ConnString)
Dim DS As New DataSet()
objCmd.Fill(DS, "guessbooktomato")
Dim myTable As DataTable = DS.Tables("guessbooktomato")
'显示留言数目
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 数据表,其结构与【guessbook】相同,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("AddRecordtomato.aspx")
End Select
BindList(PageList.SelectedIndex + 1)
ShowWhatButton()
End Sub
</Script>
<Html>
<Body>
<Center><Img Src="images\logo.jpg"></Center>
<Form Runat="Server">
<Center>
<Asp:ImageButton Runat="Server" ImageUrl="images\addthread.gif"
CommandArgument="addRecord" OnCommand="PageChange" />
<Asp:ImageButton Runat="Server" Id="firstButton" ImageUrl="images\fristhead.gif"
CommandArgument="firstpage" OnCommand="PageChange" />
<Asp:ImageButton Runat="Server" Id="preButton" ImageUrl="images\prehead.gif"
CommandArgument="prePage" OnCommand="PageChange" />
<Asp:ImageButton Runat="Server" Id="nextButton" ImageUrl="images\nexthead.gif"
CommandArgument="nextPage" OnCommand="PageChange" />
<Asp:ImageButton Runat="Server" Id="lastButton" ImageUrl="images\lasthead.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>
<center>
<Asp:Repeater Runat="Server" Id="myGuestbook">
<HeaderTemplate>
<Table Width="780" CellPadding="5" CellSpacing="0" border="1" bordercolor="#23D306">
</HeaderTemplate>
<ItemTemplate>
<Tr>
<Td RowSpan="2" Width="10%">
<Img Src="<%# Container.DataItem("img") %>">
</Td>
<Td Width="20%" BgColor="#26FD03" >
留言者:<A Href="mailto:<%# Container.DataItem("email") %>">
<%# Container.DataItem("visitor") %></A>
</Td>
<Td Width="30%" BgColor="#26FD03" >
IP 地址:<%# Container.DataItem("IP") %>
</Td>
<Td Width="40%" BgColor="#26FD03" >
留言日期:<%# Container.DataItem("times") %>
</Td>
</Tr>
<Tr>
<Td ColSpan="3">
<%# Container.DataItem("content") %>
</Td>
</Tr>
</ItemTemplate>
<SeparatorTemplate>
<Tr>
<Td ColSpan="4"><Hr></Td>
</Tr>
</SeparatorTemplate>
<FooterTemplate>
</Table>
</FooterTemplate>
</Asp:Repeater></center>
</Form>
</Body>
</Html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -