欢迎光临
我们一直在努力

用Asp.net实现基于XML的留言簿之二-.NET教程,XML应用

建站超值云服务器,限时71元/月

四.代码:

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用Asp.net实现基于XML的留言簿之二-.NET教程,XML应用
分享到: 更多 (0)

相关推荐

  • 暂无文章