ASP网页编程之用Asp.net完成基于XML的留言簿之二
缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全四.代码:(1)guestpost.aspx:
<%@PageLanguage="C#"EnableSessionState="False"%>
<%@ImportNamespace="System"%>
<%@ImportNamespace="System.IO"%>
<%@ImportNamespace="System.Data"%>
<%--这些是本程序一般使用所必需的名字空间--%>
<html>
<head>
<title>接待离开我的留言簿</title>
<scriptLanguage="C#"runat="server">
///<summary>
///当提交(submit)按钮按下后,调要这个函数
///</summary>
publicvoidSubmit_Click(Objectsender,EventArgse)
{
file://保存数据的XML文件的路径
file://如果你的路径和上面的分歧,则请修正之
stringdataFile="db/guest.xml";
file://运用一个Try-Catch块完成信息增加功效
try{
file://仅当页面是无效的时分才处置它
if(Page.IsValid){
errmess.Text="";
file://以读的形式翻开一个FileStream来会见数据库
FileStreamfin;
fin=newFileStream(Server.MapPath(dataFile),FileMode.Open,
FileAccess.Read,FileShare.ReadWrite);
file://建立一个数据库工具
DataSetguestData=newDataSet();
file://仅从数据库读取XMLSchema
guestData.ReadXmlSchema(fin);
fin.Close();
file://从数据集的Schema新建一个数据行
DataRownewRow=guestData.Tables.NewRow();
file://用响应值填写数据行
newRow["Name"]=Name.Text;
newRow["Country"]=Country.Text;
newRow["Email"]=Email.Text;
newRow["Comments"]=Comments.Text;
newRow["DateTime"]=DateTime.Now.ToString();
file://填写终了,将数据行增加到数据集
guestData.Tables.Rows.Add(newRow);
file://为数据库文件新建另外一个写形式的FileStream,并保留文件
FileStreamfout;
fout=newFileStream(Server.MapPath(dataFile),FileMode.Open,
FileAccess.Write,FileShare.ReadWrite);
guestData.WriteXml(fout,XmlWriteMode.WriteSchema);
fout.Close();
file://隐躲以后的面板
formPanel.Visible=false;
file://显示带有感激信息的面板
thankPanel.Visible=true;
}
}
catch(Exceptionedd)
{
file://捕捉非常
errmess.Text="写进XML文件堕落,缘故原由:"+edd.ToString();
}
}
</script>
<LINKhref="mystyle.css"type=text/cssrel=stylesheet>
</head>
<body>
<%--包括一个头文件:header.inc--%>
<!--#IncludeFile="header.inc"-->
<br>
<h3align="center"class="newsbody">留言者信息</h3>
<br>
<asp:labelid="errmess"text=""style="color:#FF0000"runat="server"/>
<asp:Panelid=formPanelrunat=server>
<formrunat="server">
<tableborder="0"width="80%"align="Center">
<tr>
<tdclass="newsheading"><b>请在我留言簿留下您可贵的信息!!</b></td>
<tdclass="newsheading"></td>
</tr>
<trclass="newsbody">
<td>姓名:</td>
<td><asp:textboxtext=""id="Name"runat="server"/>
<asp:RequiredFieldValidatorControlToValidate=Namedisplay=static
runat=server>
*</asp:RequiredFieldValidator></td></tr>
<trclass="newsbody"><td>国度:</td>
<td><asp:textboxtext=""id="Country"runat="server"/>
<asp:RequiredFieldValidatorControlToValidate=Countrydisplay=static
runat=server>
*</asp:RequiredFieldValidator></td></tr>
<trclass="newsbody"><td>E-Mail:</td>
<td><asp:textboxtest=""id="Email"runat="server"/>
<asp:RequiredFieldValidatorControlToValidate=Emaildisplay=static
runat=server>
*</asp:RequiredFieldValidator><asp:RegularExpressionValidator
runat="server"
ControlToValidate="Email"
ValidationExpression="+@(+.)++"
Display="Static"
Font-Name="verdana"Font-Size="10pt">
请输出一个格局准确的Email地点!</asp:RegularExpressionValidator></td>
</tr><trclass="newsbody"><td>留言:</td>
<td><asp:Textboxtextmode=multilineid="Comments"columns="25"
rows="4"runat="server"/></td></tr>
<trclass="newsbody">
<tdcolspan="2">
<asp:Buttonclass="newsheading"id="write"Text="Submit"
runat="server"/></td></tr></table></form></asp:Panel>
<asp:Panelid=thankPanelvisible=falserunat=server>
<pclass="newsbody"align=center><b>感谢会见我的留言簿!</b>
<br><ahref="viewguestbook.aspx">请点击这里</a>检察留言簿。
</p>
</asp:Panel>
<!--#IncludeFile="footer.inc"-->
</body>
</html>
大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 掌握asp的特性而且一定要知道为什么。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
页:
[1]