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 -- > < /body > < /html >
|
请发表评论