实例之二
下面我们将创建一个网页让用户与他的医生预约一次见面。他们只要输入姓名并选择一个日期,如果遗漏了姓名,就会得到一个出错信息。我们再来添加一个新的Web Form:
·添加一个Web Form。(依次选择Project->Add Web Form,并使用缺省的WebForm2.aspx名字。)
然后,我们将修改现有的网页,使它与新的工程连接起来。
·重新回到WebForm1.aspx。
·在Web Form上添加一个CheckBox控制。
·将其Text属性改为:Move baby move!。
缺省情况下,在点击CheckBox时,该网页不会被送回到服务器进行处理,但为了证明它能够被处理(同时也为了巧妙地说明另一个概念)我们可以覆盖掉这一缺省的操作。
·将AutoPostBack属性的值改为:True。
图:Working the Web8 |
现在我们来添加一些代码,在CheckBox被点击时对网页进行重定向。
·双击WebForm1.aspx上的CheckBox。
·输入下面的代码:
Navigate("WebForm2.aspx")
提示:如果不使用Navigate关健字,我们也可以使用与ASP格式类似的Response.Redirect("WebForm2.aspx")。这是因为我们仍然可以使用Response、Server 、Request、Session和Application等对象。当然,如果有时间,你也可以再试试ClientTarget、ErrorPage、IsValid、User和Validators等关健字。
现在我们来设计WebForm2.aspx:
·返回到WebForm2.aspx。
·在Form窗口中输入Name -
·在Name之后用拖放方式添加一个TextBox控制。
·在下一行上输入:Pick a date -
·在所有控制的下方添加Button控制。
·把Button控制的Text属性改变为:Make Appointment。
然后,我们将添加一个控制,检查TextBox中是否包含一个姓名,如果没有包含姓名,这个控制将变为可见的,并显示“raises an error”的出错信息。
·最后,在Form的底部添加RequiredFieldValidator控制。
·将Validator的ErrorMessage属性改为:Oi, u forget ur name!。
·将Validator的ControlToValidate属性改为:TextBox1。
我们设计的Form应当如下所示:
图:Working the Web9 |
现在,我们再添加“Make Appointment”按钮的一些代码:
·为按钮添加如下所示的代码:
Button1.Text = "Appointment for " & TextBox1.Text & " booked on " & Calendar1.SelectedDate |
就是这么简单,通过简单的几步,我们就建立了一个要求用户输入姓名(如果没有输入姓名,就会显示出错信息。)并选择日期的应用程序,当点击“Make Appointment”时,Text就会验证输入的数据。
提示:可以通过使用IsValid属性检查控制确认是否已经成功。
·击F5键对设计的网页进行测试。
我们来检查一下我们的设计。首先,检查WebForm1.aspx、WebForm2.aspx上的文本框,并试着在没有输入姓名的情况下点击按钮。然后输入姓名并选择一个日期,注意Calendar互联网控制是如何自动处理这些事情的,然后,点击Button,看看你的成果吧。
提示:如果CheckBox不进行重定向,WebForm2.aspx就会发生问题。当我直接访问网页时,就会收到“Invalid Base Class”的错误信息。我发现解决这一问题的方法是在VB.NET中编译网页,这似乎是一种常见问题。
当然,我们还可以在Button的代码中执行其他任意的操作。在数据库中添加用户细节,根据用户的输入获得资料,验证用户的资料并进行登录。
结论 在本篇文章中,我们主要探讨了Web Forms的使用问题。首先,从理论上说明了它的工作原理,然后再使用Web控制创建了二个交互式网页。
查看本文来源