·您的位置: 首页 » 资源教程 » 编程开发 » ASP.NET » 用DataList 控制元件开发的一个简单的留言本程序

用DataList 控制元件开发的一个简单的留言本程序

类别: ASP.NET教程  评论数:0 总得分:0
<%@ Import Namespace=\"System.Data\" %>
<%@ Import Namespace=\"System.Data.ADO\" %>
<Html>
<Body BgColor=\"White\">
<H3>DataList 控制元件<HR></H3>
<div id=Message runat=server></div>
<Form runat=\"server\">
<table cellspacing=0 cellpadding=0 width=\"776\" border=0>
<tr>
<td width=\"2%\"><img height=20 src=\"/Files/BeyondPic/200601/2006-1/19/0611922392676992.gif\" width=16></td>
<td width=\"98%\" bgcolor=#333333 align=\"center\"><font face=宋体 color=#ffffcc><b>留言本</b></font></td>
</tr>
</table>
<asp:DataList id=\"DataList1\" runat=\"server\"
Border=\"1\" BorderColor=\"Black\"
CellPadding=\"2\" CellSpacing=\"0\"
HeaderStyle-BackColor=\"#888888\"
ItemStyle-BackColor=\"#eeeeee\"
SelectedItemStyle-BackColor=\"#ffffff\"
HeaderTemplate-ColSpan=\"3\"
OnItemCommand=\"DataList_ItemCommand\"
Width=\"776\">

<!--编号模版-->
<template name=\"HeaderTemplate\" >
<asp:LinkButton id=\"Tosay\" runat=\"server\" Text=\"我要发言\" ForeColor=\"#ffffff\"/>
<a href=\"temp.aspx\"><font color=\"#ffffff\">刷新界面</font></a>
<asp:LinkButton id=\"Mange\" runat=\"server\" Text=\"管理留言\" ForeColor=\"#ffffff\"/>
</template>


<!--内容模版-->
<template name=\"ItemTemplate\">
<%# Container.DataItem(\"book_id\")%>
<%# Container.DataItem(\"content\")%>
<asp:LinkButton id=\"Detail\" runat=\"server\" Text=\"查看详细内容\" ForeColor=\"#333333\"/>
</template>

<!--查看留言模版-->
<template name=\"SelectedItemTemplate\">
编号: <%# Container.DataItem(\"book_id\")%><BR>
发言人: <%# Container.DataItem(\"username\")%><BR>
时间: <%# Container.DataItem(\"post_time\")%><BR>
内容: <%# Container.DataItem(\"content\")%><BR>
<div align=\"right\"><asp:LinkButton id=\"Title\" runat=\"server\" Text=\"关闭\" ForeColor=\"#333333\"/></div>
</template>

</asp:DataList>
<table id=\"foot\" cellspacing=0 cellpadding=0 width=\"776\" border=0 runat=\"server\" visible=\"false\">
<tr>
<td bgcolor=#000000>
<table cellspacing=1 cellpadding=3 width=\"100%\" border=0>
<tr bgcolor=#ffffff>
<td>大名:<Input Type=\"Text\" id=\"Username\" Size=20 runat=\"server\" /><br>
留言:<Input Type=\"Text\" id=\"Content\" Size=20 runat=\"server\" />
<asp:LinkButton id=\"save\" runat=\"server\" Text=\"保存\" OnClick=\"LinkButton1_Click\" AutoPostBack/><br>
<asp:LinkButton id=\"close\" runat=\"server\" Text=\"关闭\" OnClick=\"LinkButton2_Click\"/></td>
</tr>
</table>
</td>
</tr>
</table>

<table cellspacing=0 cellpadding=0 width=\"776\" border=0>
<tr>
<td width=\"98%\" bgcolor=#333333 align=\"center\"><font face=宋体 color=#ffffcc><b>    留言本</b></font></td>
<td width=\"2%\"><img height=20 src=\"/Files/BeyondPic/200601/2006-1/19/0611922392699864.gif\" width=16></td>
</tr>
</table>


</Form>
<hr>

<asp:Label id=\"Label1\" runat=\"server\" />
</Body>
</Html>

<script Language=\"VB\" runat=\"server\">

Sub Page_Load(sender As Object, e As EventArgs)
DataList1.DataSource = CreateDataView( \"data.mdb\", \"guestbook\" )
DataList1.DataBind()
End Sub

Function CreateDataView( Db As String, Table As String ) As DataView
Dim Provider, ConnStr, SQL As String
Provider = \"Microsoft.Jet.OLEDB.4.0;\"
ConnStr = \"Provider=\" & Provider & _
\"Data Source=\" & Server.MapPath( Db )
Dim Cmd As ADODataSetCommand
Cmd = New ADODataSetCommand( \"Select * from \" & Table &\" Order By post_time DESC\", ConnStr )
Dim ds As DataSet = new DataSet()
Cmd.FillDataSet(ds, Table)
CreateDataView = new DataView(ds.Tables(Table))
End Function

Sub DataList_ItemCommand(sender As Object, e As DataListCommandEventArgs)
select case e.CommandSource.Text
case \"我要发言\"
foot.Visible = true

case \"管理留言\"

case \"查看详细内容\"
DataList1.SelectedIndex = e.Item.ItemIndex \'查看留言模版被选中
case \"关闭\"
DataList1.SelectedIndex = -1
end select
DataList1.DataSource = CreateDataView( \"data.mdb\", \"guestbook\" )
DataList1.DataBind()
End Sub
Sub LinkButton2_Click(sender As Object, e As EventArgs)
foot.Visible = false
End Sub

Sub LinkButton1_Click(sender As Object, e As EventArgs)
Dim ConnStr, SQL As String
SQL = \"Insert Into GuestBook (userName,post_time,content) Values (\'\"& Username.Value &\"\',\'\"& DateTime.Now &\"\',\'\"& Content.Value &\"\')\"
ConnStr = \"Provider=Microsoft.Jet.OLEDB.4.0;\" & _
\"Data Source=\" & Server.MapPath( \"data.mdb\" )
Dim Cmd As ADOCommand = New ADOCommand( SQL, ConnStr )
Cmd.ActiveConnection.Open()
Cmd.Execute()
Message.InnerHtml = \"<B>留言成功!</B>\"
foot.Visible = false
Page.Navigate(\"temp.aspx\")
End Sub
</script>

研究了好长时间,可最后那句Page.Navigate(\"temp.aspx\")还是达不到及时刷新的效果:(,看精华区有篇C#编的是在PAGE_LOAD事件里面接收REQUEST.FORM对象后INSERT立即更新DATESET,不知道我这个怎么弄好...

-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:

纯粹空间 softpure.com
Copyright © 2006-2012 暖阳制作 版权所有
承接程序设计 网页设计
QQ: 15242663 (隐身在线 拒绝闲聊)  Email: faisun@sina.com

 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛  

百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1