1@ Import Namespace="System.Data"
1@ Import Namespace="System.Data.ADO"
1<html>
2<body bgcolor="White">
3<h3>DataList 控制元件<hr/></h3>
4<div id="Message" runat="server"></div>
5<form runat="server">
6<table border="0" cellpadding="0" cellspacing="0" width="776">
7<tr>
8<td width="2%"><img height="20" src="images/up.gif" width="16"/></td>
9<td align="center" bgcolor="#333333" width="98%"><font color="#ffffcc" face="宋体"><b>留言本</b></font></td>
10</tr>
11</table>
12<asp:datalist border="1" bordercolor="Black" cellpadding="2" cellspacing="0" headerstyle-backcolor="#888888" headertemplate-colspan="3" id="DataList1" itemstyle-backcolor="#eeeeee" onitemcommand="DataList_ItemCommand" runat="server" selecteditemstyle-backcolor="#ffffff" width="776">
13<!--编号模版-->
14<template name="HeaderTemplate">
15<asp:linkbutton forecolor="#ffffff" id="Tosay" runat="server" text="我要发言"></asp:linkbutton>
16<a href="temp.aspx"><font color="#ffffff">刷新界面</font></a>
17<asp:linkbutton forecolor="#ffffff" id="Mange" runat="server" text="管理留言"></asp:linkbutton>
18</template>
19<!--内容模版-->
20<template name="ItemTemplate">
Container.DataItem("book_id")
Container.DataItem("content")
1<asp:linkbutton forecolor="#333333" id="Detail" runat="server" text="查看详细内容"></asp:linkbutton>
2</template>
3<!--查看留言模版-->
4<template name="SelectedItemTemplate">
5编号: ```
6# Container.DataItem("book_id")
7```<br/>
8发言人: ```
9# Container.DataItem("username")
10```<br/>
11时间: ```
12# Container.DataItem("post_time")
13```<br/>
14内容: ```
15# Container.DataItem("content")
16```<br/>
17<div align="right"><asp:linkbutton forecolor="#333333" id="Title" runat="server" text="关闭"></asp:linkbutton></div>
18</template>
19</asp:datalist>
20<table border="0" cellpadding="0" cellspacing="0" id="foot" runat="server" visible="false" width="776">
21<tr>
22<td bgcolor="#000000">
23<table border="0" cellpadding="3" cellspacing="1" width="100%">
24<tr bgcolor="#ffffff">
25<td>大名:<input id="Username" runat="server" size="20" type="Text"/><br/>
26留言:<input id="Content" runat="server" size="20" type="Text"/>
27<asp:linkbutton autopostback="" id="save" onclick="LinkButton1_Click" runat="server" text="保存"></asp:linkbutton><br/>
28<asp:linkbutton id="close" onclick="LinkButton2_Click" runat="server" text="关闭"></asp:linkbutton></td>
29</tr>
30</table>
31</td>
32</tr>
33</table>
34<table border="0" cellpadding="0" cellspacing="0" width="776">
35<tr>
36<td align="center" bgcolor="#333333" width="98%"><font color="#ffffcc" face="宋体"><b> 留言本</b></font></td>
37<td width="2%"><img height="20" src="images/dn.gif" width="16"/></td>
38</tr>
39</table>
40</form>
41<hr/>
42<asp:label id="Label1" runat="server"></asp:label>
43</body>
44</html>
1<script language="VB" runat="server">
2
3Sub Page_Load(sender As Object, e As EventArgs)
4DataList1.DataSource = CreateDataView( "data.mdb", "guestbook" )
5DataList1.DataBind()
6End Sub
7
8Function CreateDataView( Db As String, Table As String ) As DataView
9Dim Provider, ConnStr, SQL As String
10Provider = "Microsoft.Jet.OLEDB.4.0;"
11ConnStr = "Provider=" & Provider & _
12"Data Source=" & Server.MapPath( Db )
13Dim Cmd As ADODataSetCommand
14Cmd = New ADODataSetCommand( "Select * from " & Table &" Order By post_time DESC", ConnStr )
15Dim ds As DataSet = new DataSet()
16Cmd.FillDataSet(ds, Table)
17CreateDataView = new DataView(ds.Tables(Table))
18End Function
19
20Sub DataList_ItemCommand(sender As Object, e As DataListCommandEventArgs)
21select case e.CommandSource.Text
22case "我要发言"
23foot.Visible = true
24
25case "管理留言"
26
27case "查看详细内容"
28DataList1.SelectedIndex = e.Item.ItemIndex '查看留言模版被选中
29case "关闭"
30DataList1.SelectedIndex = -1
31end select
32DataList1.DataSource = CreateDataView( "data.mdb", "guestbook" )
33DataList1.DataBind()
34End Sub
35Sub LinkButton2_Click(sender As Object, e As EventArgs)
36foot.Visible = false
37End Sub
38
39Sub LinkButton1_Click(sender As Object, e As EventArgs)
40Dim ConnStr, SQL As String
41SQL = "Insert Into GuestBook (userName,post_time,content) Values ('"& Username.Value &"','"& DateTime.Now &"','"& Content.Value &"')"
42ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
43"Data Source=" & Server.MapPath( "data.mdb" )
44Dim Cmd As ADOCommand = New ADOCommand( SQL, ConnStr )
45Cmd.ActiveConnection.Open()
46Cmd.Execute()
47Message.InnerHtml = "<B>留言成功!</B>"
48foot.Visible = false
49Page.Navigate("temp.aspx")
50End Sub
51</script>
研究了好长时间,可最后那句Page.Navigate("temp.aspx")还是达不到及时刷新的效果:(,看精华区有篇C#编的是在PAGE_LOAD事件里面接收REQUEST.FORM对象后INSERT立即更新DATESET,不知道我这个怎么弄好...