ASP.NET 来宾输入表单

分享于 

10分钟阅读

Web开发

  繁體

内容

创建一个来宾图书目录。

I I I I I 我没有打算重新发明这个轮子,而是试图重用由contributors的一个贡献者提供的代码,for的ASP.NET Guestbook。 由于代码在VC++环境中,所以我改变了代码以适应 VB.Net 语言。 原始代码之间的时间和现在的一些重载函数已经过时了,尤它的是 viewPageTransform 方法。 在本文中,工具箱中的XML控件直接用于在HTML中生成来宾图书。

在 Guest 中需要字段

通常,在来宾图书中,需要从用户浏览你的站点来收集信息。 你希望包含一个来宾图书来获取这里信息。

来宾图书 [you may customize] 中需要以下条目:

  • 姓名
  • 邮件
  • 主页( URL )
  • 位置
  • 评论
  • 日期
  • private 客户机的布尔值是或者不

来宾入口页面用户界面

由于要从客户入口页面检索信息,添加一个web窗体并添加各种控件。 要使所有控件都得到良好对齐,请将它们放置在这里网页窗体的表单对象中包含的一个处。

下面的HTML代码显示了'table'嵌套 inside的'窗体'。

<formid="Form1"method="post"runat="server"><TABLEid="Table1"style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px"cellSpacing="1"cellPadding="1"width="300"border="1"><TR><TD>Name</TD><TD><asp:TextBoxid="TextBoxName"runat="server"></asp:TextBox></TD></TR><TR><TD>E-Mail</TD><TD><asp:TextBoxid="TextBoxEMail"runat="server"></asp:TextBox></TD></TR><TR><TD>Homepage Title</TD><TD><asp:TextBoxid="TextBoxHomepageTitle"runat="server"></asp:TextBox></TD></TR><TR><TD>Homepage URL</TD><TD><asp:TextBoxid="TextBoxHomepageURL"runat="server"></asp:TextBox></TD></TR><TR><TD>Location</TD><TD><asp:TextBoxid="TextBoxLocation"runat="server"></asp:TextBox></TD></TR><TR><TD>Comments</TD><TD><asp:TextBoxid="TextBoxComments"runat="server"></asp:TextBox></TD></TR><TR><TD>Private</TD><TD><asp:CheckBoxid="CheckBoxPrivate"runat="server"></asp:CheckBox></TD></TR></TABLE><asp:Buttonid="ButtonContinue"style="Z-INDEX: 102; LEFT: 8px; POSITION: absolute; TOP: 232px"runat="server"Text="SignUp"Width="144px"Height="32px"></asp:Button></form>

持续的客人信息服务。

用户输入的信息将放置在一个XML文件中而不是在数据库中。 这里文件应称为 guestbook.xml,并将显示在 guestbook.html. 中的结构

这是 guestbook.xml 页面,已经填充了一些来宾信息。

<?xmlversion="1.0"encoding="ISO-8859-1"?><guestbook><guestprivate="yes"><name>David Frost</name><email>df@yahoo.com</email><homepageurl="www.frost.com">David Frost News</homepage><location>England</location><comment>Nothingmuch</comment><date>Friday, July 30, 2004 - 5:02:33 PM</date></guest><guestprivate="no"><name>Sandil</name><email>sandil@yahoo.com</email><homepageurl="www.Sandilhome.com">UAE</homepage><location>uae</location><comment>test this one</comment><date>Monday, July 26, 2004 - 5:11:12 PM</date></guest><guestprivate="yes"><name>Jayaram Krishnasawamy</name><homepageurl="http://www.mysorian.com/htek">Programmer</homepage><location>137 Tennyson Drive</location><comment>So,so</comment><date>Thursday, July 23, 2004 -02:52 PM</date></guest></guestbook>

代码 behind GuestEntry页面带有注释

单击提交按钮时,将按顺序执行以下代码:

  • 将加载 XMLDocument'guestbook.xml'。
Dim xdoc AsNew XmlDocument
xdoc.Load(Server.MapPath("guestbook.xml"))
  • 将检索复选框条目并将它的设置为文本值。
Dim prev AsStringIf (CheckBoxPrivate.Checked) Then prev = "yes"Else prev = "no"EndIf
  • 在下一个代码中声明并定义了一个新的文档元素,该复选框称为" 专用 "是"来宾"[root] 元素的属性:
Dim elem As XmlElement
elem = xdoc.CreateElement("guest")
elem.SetAttribute("private", prev)
  • 新的'来宾'将通过以下方式在这里文件前前:
xdoc.DocumentElement.PrependChild(elem)
  • 要添加其他条目,将使用 addTextElement 函数,该函数需要
  • 作为常数的XMLDocument
  • 元素作为常数
  • 元素的名称,以及
  • 窗体上从它的检索位置的位置。
  • addTextElement 函数的代码如下所示:
PrivateSub addTextElement(ByVal doc1 As XmlDocument, ByVal _
 elem1 As XmlElement, ByRef strTag AsString, ByRef strVal _
 AsString)
 Dim nodeElem = doc1.CreateElement(strTag)
 Dim nodeText = doc1.CreateTextNode(strVal)
 elem1.AppendChild(nodeElem)
 nodeElem.AppendChild(nodeText)EndSub
  • 添加其他字段" name"," email"," homepage"通过:
addTextElement(xdoc, elem, "name", TextBoxName.Text)
addTextElement(xdoc, elem, "email", TextBoxEMail.Text)
addTextElement(xdoc, elem, "homepage", TextBoxHomepageTitle.Text)
  • 主页元素将存储URL属性,因这里添加以下代码,以便它是URL的主页属性并从文本框中获取:
Dim newatt As XmlAttribute
newatt = xdoc.CreateAttribute("url")
newatt.Value = TextBoxHomepageURL.Text
elem.LastChild.Attributes.Append(newatt)
  • 我们添加了另外两个字段,即" location"," comment"通过:
addTextElement(xdoc, elem, "location", TextBoxLocation.Text)
addTextElement(xdoc, elem, "comment", TextBoxComments.Text)
  • 接下来,将通过数据和时间将日期字段添加到:
Dim strDate AsStringstrDate = DateTime.Now.ToLongDateString() + " -" + _
 DateTime.Now.ToLongTimeString()
addTextElement(xdoc, elem, "date", strDate)
  • 最后,该文档将通过以下方式保存:
xdoc.Save(Server.MapPath("guestbook.xml"))

查看 guestbook.xml 页面

我们首先需要创建一个XSL样式表来将 guestbook.xml 转换为HTML文件。 以下简单的无装饰文件 gb.xsl 进行转换。

<htmlxsl:version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"lang="en"><head><title>GuestBook entries</title></head><body><tableborder="1"><tr><th>Name</th><th>Email</th><th>Homepage</th><th>Location</th><th>Comment</th><th>Date</th></tr><xsl:for-eachselect="guestbook/guest"><tr><td><em><xsl:value-ofselect="name"/></em></td><td><xsl:value-ofselect="email"/></td><td><xsl:value-ofselect="homepage"/></td><td><xsl:value-ofselect="location"/></td><td><xsl:value-ofselect="comment"/></td><td><xsl:value-ofselect="date"/></td></tr></xsl:for-each></table></body></html>

我们添加一个 view.aspx 页面,并将一个XML控件从工具框中拖动。 右键单击XML控件并设置以下两个属性:

  • DocumentSource -> guestbook.xml
  • TransformSource -> gb.xsl

注意:你需要给 guestbook.xml 页面提供写权限,否则它会抛出错误。 错误捕获和验证应按要求添加。

最后,打开 view.aspx 页面时,你将看到以下内容:


for  asp  asp-net  form  entr  Entry  
相关文章