当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 用Asp.net实现基于XML的留言簿之二

ASP.NET
.Net技术开发中两个“属性”引起的歧异
技术文档:解读.Net虚拟框架的实现原理
.Net课堂:总结必须学习的10项.NET技术
实现MSMQ消息加密的安全实践
C#中对DatagridView的部分常用操作
.Net基础:了解ASP.NET中的IFRAME框架挂马
ASP.NET中显示Linq To SQL输出的SQL语句
链表的顺序表示和实现(C++模板类实现)
如何在ASP.NET项目里面正确使用Linq to Sql
ASP.NET两个截取字符串的实用方法技巧
一个简单程序的反编译
ASP.NET MVC中你必须知道的13个扩展点
Entity Framework的默认值BUG解决方法
C#中通过Assembly类访问程序集信息
Java与.NET间进行Web Service交互的选择
C#中用鼠标移动页面功能的实现
程序员的信仰
ASP.NET多附件上传和附件编辑的实现
菜鸟课堂:在Visual C# .NET中跟踪和调试
IronPython和C#执行速度对比

ASP.NET 中的 用Asp.net实现基于XML的留言簿之二


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 186 ::
收藏到网摘: n/a

(1) guestpost.aspx:

< %@ Page Language="C#" EnableSessionState="False" % >
< %@ Import Namespace="System" % >
< %@ Import Namespace="System.IO" % >
< %@ Import Namespace="System.Data" % >
< %-- 这些是本程序正常运用所必须的名字空间 --% >

< html >
< head >
< title >欢迎来到我的留言簿< /title >
< script Language="C#" runat="server" >
///< summary >
/// 当提交(submit)按钮按下后,调要这个函数
///< /summary >
public void Submit_Click(Object sender, EventArgs e)
{
//保存数据的XML文件的路径
//如果你的路径和下面的不同,则请修改之
string dataFile = "db/guest.xml" ;

//运用一个Try-Catch块完成信息添加功能
try{
//仅当页面是有效的时候才处理它
if(Page.IsValid){

errmess.Text="" ;
//以读的模式打开一个FileStream来访问数据库
FileStream fin;
fin= new FileStream(Server.MapPath(dataFile),FileMode.Open,
FileAccess.Read,FileShare.ReadWrite);
//建立一个数据库对象
DataSet guestData = new DataSet();
//仅从数据库读取XML Schema
guestData.ReadXmlSchema(fin);
fin.Close();
//从数据集的Schema新建一个数据行
DataRow newRow = guestData.Tables[0].NewRow();
//用相应值填写数据行
newRow["Name"]=Name.Text;
newRow["Country"]=Country.Text;
newRow["Email"]=Email.Text;
newRow["Comments"]=Comments.Text;
newRow["DateTime"]=DateTime.Now.ToString();
//填写完毕,将数据行添加到数据集
guestData.Tables[0].Rows.Add(newRow);
//为数据库文件新建另一个写模式的FileStream,并保存文件
FileStream fout ;
fout = new FileStream(Server.MapPath(dataFile),FileMode.Open,
FileAccess.Write,FileShare.ReadWrite);

guestData.WriteXml(fout, XmlWriteMode.WriteSchema);
fout.Close();
//隐藏当前的面板
formPanel.Visible=false;
//显示带有感谢信息的面板
thankPanel.Visible=true;
}
}
catch (Exception edd)
{
//捕捉异常
errmess.Text="写入XML文件出错,原因:"+edd.ToString() ;
}
}
< /script >
< LINK href="mystyle.css" type=text/css rel=stylesheet >
< /head >
< body >
< %-- 包含一个头文件:header.inc --% >
< !-- #Include File="header.inc" -- >
< br >
< h3 align="center" class="newsbody" >留言者信息< /h3 >
< br >
< asp:label id="errmess" text="" style="color:#FF0000" runat="server" / >
< asp:Panel id=formPanel runat=server >
< form runat="server" >
< table border="0" width="80%" align="Center" >
< tr >
< td class="newsheading" >< b >请在我留言簿留下您宝贵的信息!!< /b >< /td >
< td class="newsheading" > < /td >
< /tr >
< tr class="newsbody" >
< td >姓名:< /td >
< td >< asp:textbox text="" id="Name" runat="server" / >
< asp:RequiredFieldValidator ControlToValidate=Name display=static
runat=server >
*< /asp:RequiredFieldValidator >< /td >< /tr >
< tr class="newsbody" >< td >国家:< /td >
< td >< asp:textbox text="" id="Country" runat="server"/ >
< asp:RequiredFieldValidator ControlToValidate=Country display=static
runat=server >
*< /asp:RequiredFieldValidator >< /td > < /tr >
< tr class="newsbody" >< td >E-Mail:< /td >
< td >< asp:textbox test="" id="Email" runat="server"/ >
< asp:RequiredFieldValidator ControlToValidate=Email display=static
runat=server >
*< /asp:RequiredFieldValidator >< asp:RegularExpressionValidator
runat="server"
ControlToValidate="Email"
ValidationExpression="[\w-]+@([\w-]+\.)+[\w-]+"
Display="Static"
Font-Name="verdana" Font-Size="10pt" >
请输入一个格式正确的Email地址!< /asp:RegularExpressionValidator >< /td >
< /tr >< tr class="newsbody" >< td >留言:< /td >
< td >< asp:Textbox textmode=multiline id="Comments" columns="25"
rows="4" runat="server" / >< /td