180 likes | 327 Views
第 4 章 网站逻辑结构设计( 2 ). 8. 内容回顾. 验证控件简介 必须字段验证控件 比较验证控件 范围验证控件 正则表达式匹配验证. 内容提要. 验证总结控件 用户控件 利用用户控件实现用户注册 本章实验与习题. 验证总结控件. 验证总结控件用于收集本页所有验证错误,并将它们组织起来显示。
E N D
内容回顾 • 验证控件简介 • 必须字段验证控件 • 比较验证控件 • 范围验证控件 • 正则表达式匹配验证
内容提要 • 验证总结控件 • 用户控件 • 利用用户控件实现用户注册 • 本章实验与习题
验证总结控件 • 验证总结控件用于收集本页所有验证错误,并将它们组织起来显示。 • 其中,HeadText是头信息,DisplayMode表示错误信息显示方式:List相当于HTML中的<BR>;BulletList相当于HTML中的<LI>;SingleParegraph表示错误信息显示成单一的段落。 <ASP:ValidationSummary id="Validator_ID" RunAT="Server" HeaderText="头信息" ShowSummary="True|False" DiaplayMode="List|BulletList|SingleParagraph"> </ASP: ValidationSummary >
程序名称:4-05.aspx <%@ Page clienttarget=downlevel Language="VB" %> <h2>请填写您的个人信息:</h2><hr> <form runat="server"> <b>姓名:</b> <asp:TextBox id="Name" MaxLength="20" runat="server" /> <asp:RequiredFieldValidator id="rfv1" ControlToValidate="Name" ErrorMessage="姓名不能为空" Display="Static" runat=server>* </asp:RequiredFieldValidator> <br><b>性别:</b> <asp:RadioButtonList id="Sex" RepeatLayout="Flow" RepeatDirection="Horizontal" runat="server"> <asp:ListItem>男</asp:ListItem> <asp:ListItem>女</asp:ListItem> </asp:RadioButtonList> <asp:RequiredFieldValidator id="rfv2" ControlToValidate="Sex" ErrorMessage="没有选择性别" Display="Static" runat=server>* </asp:RequiredFieldValidator> <asp:Button id="Submit" Text="提交" runat="server" /> <asp:ValidationSummary id="vs" DisplayMode="BulletList" HeaderText="必须做以下输入或选择:" runat="server" /> </form> 验证总结控件
用户控件 • 除了六种.NET提供的控件,用户还可以自己编写验证控件。 • 其中,“onServerValidateFunction”表示用户必须定义一个函数来验证输入。 <ASP:CustomValidator id="Validator_ID" RunAt="Server" controlToValidate="要验证的控件" onServerValidateFunction="验证函数" errorMessage="错误信息" Display="Static|Dymatic|None"> 占位符 </ASP: CustomValidator >
用户控件 程序名称:4-06.aspx <%@ Page clienttarget=downlevel Language="VB" %> <script Language="VB" runat="server"> Sub Page_Load(Sender As Object, e As EventArgs) Try int i=int.Parse(args.Value) args.IsValid=((i%2)==1) Catch e As Exception args.IsValid = false End Try End Sub </script><form runat="server"> <asp:Label id="Message" runat="server" Text="请输入奇数:" Font-Name="Verdana" Font-Size="10pt" /> <p> <asp:TextBox id="txtOdd" runat="server" /> <asp:CustomValidator id="cv" ControlToValidate="txtOdd" OnServerValidate="ServerValidation" ErrorMessage="不是奇数!" Display="Static" runat="server"/> <p> <asp:Button id="Button1" Text="验证" runat="server"/> </form> • 程序实现了必须输入奇数的验证,通过用户用户函数来实现。 • 当输入偶数或者字母的时候,函数返回值为false,验证控件提示出错信息
实验:网上书店用户控件 • 实验目标: • 了解:用户控件的基本概念。 • 熟悉:用户控件的编写。 • 掌握:用户控件实现注册界面。
步骤1:用户控件的编写方法 • .NET控件除了内置的HTML服务器端控件和Web服务器端控件,用户还可以编写用户控件。 • 编写的用户控件,也称之pagelets,pagelets程序的扩展名为“ascx”,程序4-07.ascx是一个pagelets。
用户控件 案例名称:用户用户控件 程序名称:4-07.ascx <p>用户自定义控件</p> 案例名称:用户控件 程序名称:4-08.aspx <%@ Page Language="VB" %> <%@ Register TagPrefix="myCo" TagName="myTxt" Src="4-07.ascx" %> <myCo:myTxt runat="server" />
注册控件 • 注册控件,需要先定义三个属性: • TagPrefix 标记前缀,定义控件的命名空间。 • TagName 标记名指向所使用控件的名字。 • Src 指向控件的资源文件,使用相对路径("control.ascx" 或 "/path/control.ascx"),不能使用物理路径("C:\path\control.ascx.")。
用户控件的编写方法 • 用户控件的编写方法与ASP.NET页面一样,唯一不同的是用户控件不能包含<html>、<body>和<form>元素。 • 因此,当已经开发好一个ASP.NET页面的时候,若想将该页面转化为用户控件,只要将<html>、<body>和<form>元素都删除,将Web Form中的@page换成@Control,将文件扩展名改为ascx,就可以了。
步骤2:用户控件实现注册界面 案例名称:利用用户控件实现用户注册 程序名称:4-09.ascx <% @Control className="UcLogin" %> <script language="VB" runat="server"> Sub RegBtn_Click (Sender As Object, e As EventArgs) Message.Text = "<br>"; Message.Text += "<b>用户名是:</b>"+Name.Text+"<br>"; Message.Text += "<b>密码是:</b>"+Pass.Text+"<br>"; End Sub </script> <b>用户名:</b><ASP:TextBox id="Name" runat="server"/> <b>密码:</b> <ASP:TextBox id="Pass" TextMode="Password" runat="server"/> <ASP:Button Text="注册" OnClick="RegBtn_Click" runat="server"/> <ASP:Label id="Message" runat="server"/>
利用用户控件实现用户注册 • 用户控件不能单独执行,必须包含在ASP.NET页面中。 案例名称:利用用户控件实现用户注册 程序名称:4-10.aspx <%@ Register TagPrefix="ucasp" TagName="Login" Src="login.ascx" %> <form runat="server"> <ucasp:Login id="Login1" runat="server"/> </form>
本章习题 • 4、编写的用户控件,也称之pagelets,pagelets程序的扩展名为______________。 • ascx
本章习题 • 1、下面的控件,是验证控件的有( ) • A 必须字段验证控件 B 范围验证控件 • C 上传控件 D 日期控件 • 2、下面的说法,正确的是( ) • A 在.NET以前的版本中,验证逻辑一般由客户端的JavaScript来实现。. NET中使用验证控件取代了原来的验证方式。 • B 脚本中中包含对脚本WebUIValidation.js的引用。在默认的情况下,客户断验证是激活的,会出现脚本找不到的消息框。 • C 要关闭客户端验证,只要在文件头加上<%@ Page clienttarget=downlevel %>。 • D 用户控件的编写方法与ASP.NET页面一样,唯一不同的是用户控件不能包含<html>、<body>和<form>元素。 • AB ABCD
本章习题 • 1、验证控件包括哪几个?有什么作用。 • 2、简述用户控件的编写方法。
本章总结 • 验证总结控件 • 用户控件 • 利用用户控件实现用户注册 • 本章实验与习题