index.aspx

来自「《ASP.NET C#程序设计案例教程》」· ASPX 代码 · 共 153 行

ASPX
153
字号
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<%@ Import Namespace="System.Data" %>
<script language="VB" runat="server">
Sub Page_Load(Sender As Object, E As EventArgs)
	If Not Page.IsPostBack Then
		Call myDataBind()
	End If
End Sub
'下面的函数用来插入记录,其实就是增加一个节点
Sub Enter_Click(Sender As Object, E As EventArgs)
	'读取XML文件
	Dim doc As XmlDocument = New XmlDocument()			'建立XmlDocument对象
	Dim elemGuest,elemItem As XmlElement				'定义两个元素变量
	doc.Load(Server.MapPath("guest.XML"))				'载入XML文件

	'首先建立一个节点
	elemGuest = doc.CreateElement("guest")

	'下面依次添加每一个子节点
	'添加记录编号id
	elemItem = doc.CreateElement("id")					'生成一个子节点
	elemItem.InnerText=System.GUID.NewGUID().ToString	'给该子节点赋值
	elemGuest.AppendChild(elemItem)						'将该子节点添加到guest节点中
	'添加主题title
	elemItem = doc.CreateElement("title")				'生成一个子节点
	elemItem.InnerText=txtTitle.Text					'给该子节点赋值
	elemGuest.AppendChild(elemItem)						'将该子节点添加到guest节点中
	'添加内容body
	elemItem = doc.CreateElement("body")				'生成一个子节点
	elemItem.InnerText=txtBody.Text						'给该子节点赋值
	elemGuest.AppendChild(elemItem)						'将该子节点添加到guest节点中
	'添加留言人name
	elemItem = doc.CreateElement("name")				'生成一个子节点
	elemItem.InnerText=txtName.Text						'给该子节点赋值
	elemGuest.AppendChild(elemItem)						'将该子节点添加到guest节点中
	'添加留言人E-mail
	elemItem = doc.CreateElement("email")				'生成一个子节点
	elemItem.InnerText=txtEmail.Text					'给该子节点赋值
	elemGuest.AppendChild(elemItem)						'将该子节点添加到guest节点中
	'添加留言时间submit_date
	elemItem = doc.CreateElement("submit_date")			'生成一个子节点
	elemItem.InnerText=Now()							'给该子节点赋值
	elemGuest.AppendChild(elemItem)						'将该子节点添加到guest节点中
	'添加回复内容reback
	elemItem = doc.CreateElement("reback")				'生成一个子节点
	elemItem.InnerText=""								'给该子节点赋值,这里赋了空值
	elemGuest.AppendChild(elemItem)						'将该子节点添加到guest节点中

	'该节点添加到XML文档中
	doc.DocumentElement.AppendChild(elemGuest)

	'保存XML文档
	doc.Save(Server.MapPath("guest.XML"))

	'重新绑定数据
	Call myDataBind()

	'因为本留言本根本不需要保留状态,所以将所有文本框设为空,这样可以防止重复提交。
	txtTitle.Text=""
	txtBody.Text=""
	txtName.Text=""
	txtEmail.Text=""
End Sub

'下面的函数专门用来绑定数据
Sub myDataBind()
	Dim ds As New DataSet()											'建立DataSet对象
	ds.ReadXML(Server.Mappath("guest.xml"))							'读取XML文件
	ds.Tables(0).DefaultView.Sort="submit_date Desc"				'设定排序字段
	MyRepeater.DataSource=ds.Tables(0).DefaultView					'指定数据源
	MyRepeater.DataBind()											'执行绑定
End Sub

</script>
<HTML>
<head>
	<title>我的留言板</title>
	<link rel="stylesheet" href="guest_style.css">
</head>
<body >
	<h1 align="center">我的留言板</h1>
	<center>
	<table border="0" width="80%" bgcolor="#203F80" align="center">
		<form runat="server">
		<tr>
			<td><font color=white>主题:</font></td>
			<td>
				<asp:textbox id="txtTitle" columns="60" runat="server"/>
				<asp:RequiredFieldValidator id="require1" ControlToValidate="txtTitle" ErrorMessage="主题不能为空"  runat="server"/>
			</td>
		</tr>
		<tr>
			<td><font color=white>内容:</font></td>
			<td>
				<asp:Textbox id="txtBody" Textmode="multiline" columns="60" rows="4" runat="server"/>
			</td>
		</tr>
		<tr>
			<td><font color=white>姓名:</font></td>
			<td>
				<asp:textbox id="txtName" runat="server"/>
				<asp:RequiredFieldValidator id="require2" ControlToValidate="txtName" ErrorMessage="姓名不能为空"  runat="server"/>
			</td>
		</tr>
		<tr>
			<td><font color=white>email:</font></td><td>
				<asp:textbox id="txtEmail" columns="50" runat="server"/>
			</td>
		</tr>
		<tr>
			<td></td>
			<td>
				<asp:button id="Enter" text="提 交"  onclick="Enter_Click" runat="server" />
			</td>
		</tr>
		</form>
	</table>
	<p>

	<asp:Repeater id="MyRepeater" runat="server" >
		<ItemTemplate>
			<table width="80%" bgcolor="#FFFFFF" align="center">
			<tr>
				<td width="30%">主题</td>
				<td><%# Container.DataItem("title") %></td>
			</tr><tr>
				<td >内容</td>
				<td><%# Container.DataItem("body") %></td>
			</tr><tr>
				<td >留言人</td>
				<td><asp:HyperLink Text='<%# Container.DataItem("name") %>' NavigateUrl='<%# "mailto:" & Container.DataItem("email") %>' runat="server"/></td>
			</tr><tr>
				<td>时间</td>
				<td><%# Container.DataItem("submit_date") %></td>
			</tr><tr>
				<td><asp:HyperLink Text="回复"  NavigateUrl='<%# "readd.aspx?id=" & Container.DataItem("id") %>' runat="server"/></td>
				<td><font color="blue"><%# Container.DataItem("reback") %></font></td>
			</tr><tr>
				<td></td>
				<td><asp:HyperLink Text="删除"  NavigateUrl='<%# "delete.aspx?id=" & Container.DataItem("id") %>' runat="server"/></td>
			</tr>
			</table>
		</ItemTemplate>
		<SeparatorTemplate>
			<hr width="80%">
		</SeparatorTemplate>
	</asp:Repeater>
	</center>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?