繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> 用Asp.net实现基于XML的留言簿之二(上)

用Asp.net实现基于XML的留言簿之二(上)

2007-04-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:四.代码: (1) guestpost.ASPx: < %@ Page Language="C#" EnableSessionState="False" % > < %@ Import Namespace="System" % > < %@ Import Namespace="System.IO" % > < %@ Import Namespace="System.Data...
关键字:留言簿 基于 XML net Asp

四.代码:

(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 >

责任编辑:admin
相关文章