四.代碼: (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 >< /tr > < tr class="newsbody" > < td colspan="2" > < asp:Button class="newsheading" id="write" Text="Submit" onClick="Submit_Click" runat="server"/ >< /td >< /tr >< /table >< /form >< /asp:Panel > < asp:Panel id=thankPanel visible=false runat=server > < p class="newsbody" align=center >< b >謝謝訪問我的留言簿!< /b > < br >< a href="viewguestbook.aspx" >請點擊這里 < /a > 查看留言簿。 < /p > < /asp:Panel > < !-- #Include File="footer.inc" -- > < /body > < /html >
|