[注]大部分源码拷自《ASP.NET程序设计实用教程》 6.验证控件 控件名 功能描叙 RequiredFieldValidator(必须字段验证) 用于检查是否有输入值 CompareValidator(比较验证) 按设定比较两个输入 RangeValidator(范围验证) 输入是否在指定范围 RegularExpressionValidator(正则表达式验证) 正则表达式验证控件 CustomValidator(自定义验证) 自定义验证控件 ValidationSummary(验证总结) 总结验证结果 实例一: 必须字段验证控件(RequiredFieldValidator) <%@ Page clienttarget=downlevel Language="C#" %> <Form RunAt="Server"> <ASP:TextBox id="txtName" RunAt="Server"/> <ASP:RequiredFieldValidator id="Validator1" Runat="Server" ControlToValidate="txtName" ErrorMessage="姓名必须输入" Display="Static"> *姓名必须输入 </ASP:RequiredFieldValidator> </Form> 实例二:比较验证控件(CompareValidator) 通常用于两次密码输入比较 <%@ Page clienttarget=downlevel Language="C#" %> <form runat="server"> <b>密码1:</b> <asp:TextBox id="passwd1" TextMode="Password" runat="server" /> <br><b>密码2:</b> <asp:TextBox id="passwd2" TextMode="Password" runat="server" /> <asp:CompareValidator id="CV" ControlToValidate="passwd1" ControlToCompare="passwd2" Type="String" Operator="Equal" Display="static" runat="server"> 两者不一致! </asp:CompareValidator> <br><br><asp:Button id="Validate" text="验证" runat=server /> </form> 实例三: RangeValidator(范围验证控件) <%@ Page clienttarget=downlevel Language="C#" %> <form runat="server"> <b>请输入1-6选项中的一项:</b> <asp:TextBox id="Choice" runat="server" /> <asp:Button text="验证" runat=server /><br> <asp:RangeValidator id="rv" ControlToValidate="Choice" MinimumValue="1" MaximumValue="6" ErrorMessage="输入必须是1-6之间的整数" Type="Integer" Display="dynamic" runat="server"> </asp:RangeValidator> </form> 实例四: RegularExpressionValidator(正则表达式验证控件) <%@ Page clienttarget=downlevel Language="C#" %> <form runat="server"> <b>请数字开头后接一个大写字母:</b> <asp:TextBox id="Email" runat="server" /> <asp:Button text="验证" runat=server /><br> <asp:RegularExpressionValidator id="rev" ControlToValidate="Email" ValidationExpression="\d[A-Z]*" Display="Dynamic" runat="server"> 输入错误 </asp:RegularExpressionValidator> </form> 实例五:验证总结控件(ValidationSummary) <%@ Page clienttarget=downlevel Language="C#" %> <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> 实例六:自定义控件(CustomValidator) <%@ Page clienttarget=downlevel Language="C#" %> <script Language="C#" runat="server"> void ServerValidation(object source, ServerValidateEventArgs args){ try { int i=int.Parse(args.Value); args.IsValid=((i%2)==1); } catch { args.IsValid = false; } } </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> 7.用户控件的编写方法(ASCX文件) <%@ Page Language="C#" %> <%@ Register TagPrefix="myCo" TagName="myTxt" Src="mycl.ascx" %> <myCo:myTxt runat="server" /> 执行mycl.ascx控件文件 实例一:自定义控件实现用户注册 其中 login.axcx <% @Control className="UcLogin" %> <script language="C#" runat="server"> void RegBtn_Click(Object sender, EventArgs e){ Message.Text = "<br>"; Message.Text += "<b>用户名是:</b>"+Name.Text+"<br>"; Message.Text += "<b>密码是:</b>"+Pass.Text+"<br>"; } </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"/> 其中login.aspx <%@ Register TagPrefix="ucasp" TagName="Login" Src="login.ascx" %> <form runat="server"> <ucasp:Login id="Login1" runat="server"/> </form> 8.服务器断动态数据帮定(如显示服务器时间等) 表达语句: <% # databinding expression %> 实例:显示服务器时间 <%@ Page Language="C#" %> <script language="C#" runat="server"> DateTime t=DateTime.Now; void Page_load(Object sender, EventArgs e){ Page.DataBind(); } </script> <form id="nform" runat="server"> 目前的日期及时间:<asp:Label id="NowTime" runat="server" Text=<%# t %>/><p> <p></form> 总结:通过这几天学习,初步掌握了,服务器端控件,HTML验证控件,自定义控件,服务断数据帮定,web服务端控件的基本使用和定义方法.

评论