ASPNET知识复习资料.docx
ASBNET课程学问一、网页基础学问HTML是英文HyperTextMarkupLanguage的缩写,中文的意思是超文本标记语言。它是通过嵌入代码或标记的方式来表明文本格式的国际标准。用它编写的文件扩展名是.html或.htm,这种网页文件的内容是静态的,而且无法与后台数据库结合运用。在网站开发中,XML的应用也相当广泛,ASPNETWeb应用程序的配置文件machine.config与web.config文件都是基于XML文档的,甚至连ADO.NET中的DataSet对象,其内部也是接受XML描述的。XML即可扩展标记语言(ExtensibleMarkupLanguage),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML是标准通用标记语言(SGML)的子集,特殊适合Web传输。前面已经指出,运用纯粹的HTML格式的网页时静态网页,下面区分一下静态网页和动态网页。在网站设计中,纯粹HTML格式的网页通常被称为静态网页,早期的网站一般都是由静态网页制作的。静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不行交互的网页。你编的是什么它显示的就是什么,不会有任何变更。静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站。静态网页的网址形式通常为him(超文本标记语言)结尾,还有就是以超文本标记语言(.htm、.html)、.Shtm1、.XmI(可扩展标记语言)等为后缀的。所谓动态网页是指网页文件里包含了程序代码,通过后台数据库与Web服务器的信息交互,由后台数据库供应实时数据更新和数据查询服务。动态页面依靠阅读器端和服务器端的互动来实现,服务器端可以实时处理阅读器端的请求,然后将响应结果传递给阅读器,这样动态页面就显示在阅读器中了。这种网页的后缀名称一般依据不同的程序设计语言不同,如常见的有.aspx、.asp、Jsp、.PhP等形式为后缀。动态网页能够依据不同请求和不同访问者而显示不同内容。如常见的BBS、留言板和购物系统通常用动态网页实现。动态网页的制作相对困难,须要用到ASP、PHP、ISP和ASP.NET等特地的动态网页设计语言。二、ASP.NET基础学问2000年6月,Microsoft公司推出了.NET技术框架,ASRNET则是该框架的一部分。.NetFramework的的核心组件是.NetFramework基础类库和公共语言运行库。作为一种新的Web技术,ASP.NET供应了多种便利好用的新功能,譬如具有丰富的Web控件,引入了ADO.NET,对多种开发语言供应支持,可以选择接受代码后置技术/代码隐藏模型,使得后台程序代码与前台页面文件分开,同时支持更多的事务处理。【了解】ASP.NET是在ASP的基础上发展起来的,由于具有便利、灵敏、高效、平安等特点,成为了l三l前主流的Web开发技术之一。然而,ASP.NET不只是ASP的一个升级版本,其许多新功能也不仅仅是对ASP的改进,因此ASP.NET是创建Web应用程序的全新理念和方法,它与ASP的主要区分有以下几点:(1) ASP只能运用脚本语言,主要依靠VBScript和JavaScript。ASP.NET则没有这个问题,它可以运用.NETFrameWork支持的任何一种功能完善的编程语言。(2) ASP中,ASP代码LJHTML代码没有分开,各种混杂的代码不便利前期的设计和后期的维护。在ASP.NET中,通过接受代码后置技术,这个问题得到了解决。(3) ASP.NET带有大量的控件,可以特殊简洁地用在Web页面当中。而在ASP中,程序员就须要利用对象和几个组件来完成在ASP.NET中特殊简洁实现的功能。在ASP.NETWeb应用程序中,可以接受代码后置方式,也可以接受代码内嵌的方式,也可以接受两者混合的方式,网站开发人员可以依据实际状况进行选工代码后置是微软的一项技术,也是我们编写ASP.NETWeb应用程序时常用的编码方式。一般状况下,接受代码后置技术时,ASP.NETWeb页面对应的.asp文件中没有程序代码,只有控件和HTML代码,而在心中编写相关的后台C#代码。与代码后置相对应的是代码内嵌,可以不运用后置的.CS文件,完全在.asp文件中编写代码,我们只需在创建页面时,不选择“将代码放在单独的文件中“复选框,将代码编写在%之间就可以了。接受代码后置技术的好处是后台程序代码和前台页面内容分别,使网站代码结构更清晰,可读性好,便于编写和维前面已经指出,ASP.NET相比ASP而言支持更多的事务处理。我们知道,一般的WindoWS应用程序也支持事务模型。ASP.NET中的Web窗体事务模型和WindoWS事务模型有相像的地方,也有区分。ASP.NET接受类似于WindoWS的事务处理程序,当用户在W在窗体中执行某一个动作时,将触发一个事务,程序员可以针对这些事务编写程序,对用户操作进行响应。Web窗体的事务模型与WindOWS事务并不完全相同。WindOWS事务的事务触发和事务处理都在本地发生。例如,用户单击WindoWS窗体中的一个按钮,可以触发该按钮的CliCk事务,程序员可以为事务响应程序中编写代码,响应用户的操作。Web窗体事务则是由用户在客户端触发事务,事务响应程序在服务器端执行,然后再将执行结果返回到客户端。IIS是InternetInformationServer的缩写,即Imemet信息服务,它是Microsoft公司开发的Web服务器应用程序,11S可以便利地建立强大、灵敏而平安的Intemet站点,而且它完全支持ASP.NET技术。在WindOWSXP等操作系统中,默认的系统安装中并没有包含IIS,我们须要驾驭安装HS的方法和步骤:首先,在操作系统中打开限制面板,双击“添加或删除程序“,在弹出的对话框中,选择”添加或删除WindOWS组建”,在弹出的下一个对话框中,选中力ntemet信息服务(IISf,然后依据提示一步一步操作,就可以实现s的安装。简而言之,ns可以通过添加WindOWS组件安装。在一台用作Web服务器的电脑上,可以同时运行多个Web站点,因为IIS可以同时管理多个Web应用程序。11S的功能强大,不仅能够管理Web站点,也能管理FTP站点。11S中,网站的默认端口是80,当然,我们可以修改这一默认的设置。IIS中,默认文档的文件名一般为default或index,扩展名则可以是.htm、asp或aspx等已为服务器支持的文件扩展名。当然,IIS中,网站的默认文档文件名不愿定非得是default或index,我们可以设置为随意其他合法的文件名。ASP.NETWeb应用程序的开发中,会牵涉到多种类型的文件,这些文件的作用不一样,后缀名也不一样,在此以表格的形式加以分类比较。表1ASRNETWeb项目中的文件类型汇总文件类型文件后缀名或全称备注静态页面文件.htm或者.htmlASP.NET前台页面文件.aspxASRNET页面后台C#程序文件.aspx.esC#程序或类文件.CS全局程序类文件GIobaLasaxASRNET母版页文件.master用户控件文件.ascxASRNET服务器配置文件MachinexonfigASRNETWeb程序配置文件Webxonfig三、ASP.NET页面类与常用内置对象。.NETFramework包含了大量的对象类库,这些对象类库为.NET供应了可以运用的功能。编程人员只要编写较少的代码,就可以简洁快速地完成工作。下面简要探讨ASRNET中最常用的Page类以及最核心的对象Request、Response>Server>Application、SeSSiOn以及Cookies。在.NETFrameWork中,Page类是ASRNET应用程序在.aspx文件中构建全部对象的基类。Page类在SyStem.Web.Ul空间中定义。Web页面从初始化、加载到页面卸载,会阅历页面模型生命周期的各个阶段,触发各种事务,其中,页面加载时触发的事务是Page_Load,页面卸载时触发的事务是Page_UnloadoPage对象具有许多属性,这里探讨IsValid属性和ISPOStBaCk属性。在ASP.NET中,页面的ISValid属性用于获得一个布尔值,该值用于指示页验证是否成功,假如为true,则验证通过,否则意味页面没有通过验证。在ASRNET中,要推断页面是第一次加载运行还是由于客户端返回数据而加载运行,必需通过Web页面的ISPOStBaCk属性。IsPostBack属性是布尔类型的。若Web页的ISPoStBaCk的值为false,则表示该页面是第一次加载运行;若Web页的ISPOSlBaCk的值为true,则表示当前网页是由于客户端返回数据而加载的。ReSPonSe对象称为响应对象,表示Web服务器对客户请求的响应,将信息传递给用户。运用ReSPOnSe对象的Write方法,可以将字符串输出到网页中,当然,该方法并不是讲数据干脆显示在网页中,而是输出到HTML代码中。运用ReSPonSe对象的RedireCt方法,可以实现网页转向,就是在阅读器中显示新网页的内容。运用Response对象还可以写入Cookies数据。特殊须要留意的是,在ASRNET中,运用Response.Write方法输出字符串时,字符串中不能干脆包含双引号否则会发生歧义。假如须要在网页中输出双引号字符,须要用“替换ReqUeSt对象也称为请求对象,通过它可以从客户端接收信息,这些信息包括通过网址参数传递的信息、HTML表单中用POST或GET方法传递的参数和Cookies等。Server对象是用于获得服务器的相关信息的对象,它对应的ASRNET类是ServerUtilityo运用SerVer.M叩Path方法可以将虚拟路径转换为服务器上的实际物理书目。用法如下所示:真实物理路径=SerVer.MapPath(虚拟路径)APPliCatkm对象,也称记录应用程序参数的对象,其用途是记录整个网站的信息,是集中的网站范围内的变量存储方式,可以在网站内部的任何地方运用。另外,APPIiCatiOn对象可以供应应多个客户端用户共享信息,即全部的客户端用户都可以访问APPliCatiOn对象中保存的数据。在程序中,访问APPliCatiOn对象的操作主要有读操作与写操作。其中,写操作表示添加数据或值到Application对象中;读操作表示从Application对象中取到数据。为了防止两个以上的用户同时访问Application对象,可以运用Application.Lock方法将Application对象锁定,访问完成后运用Application.UnLock方法解除锁定,示例代码如下:protectedvoidPage_Load(objectsender,EventArgse)Response.Write(<h2align="center><fontCOIOr="#0000FF">网站计数器的演示程序vfont><h2>)Application.Lock();if(ApplicationCounter"=null)ApplicationCounter"=1;elseAppIicationCounter"=int.Parse(Application,'Counter.ToStringO)+1;Response.Write(',<palign=*,center',>您是本站第"+Application,Counter".ToString()+”位访客,欢迎光临<p>");AppIication.UnLock();)对Web应用程序而言,GlobaLasax文件是一个可选文件,网站开发人员可以在该文件中指定跟Application对象相关的某个事务发生时执行的代码。换言之,与Application对象相关的Application_Start>Application_Error和Application_End等事务都应当在GlobaLasax文件中定义。GlobaLasax文件必需存放在应用程序的根书目中,而且每个应用程序只能有一个GlobaLasax文件。当然,GlobaLasax文件既然是一个可选文件,意味着一个网站中可以连一个GlobaLasax文件。ASRNETWeb应用程序在用户首次打开应用程序中的某一网页时启动,在服务器关闭时终止。在此期间,APPIiCation对象都是始终有效的。运用SeSSion对象可存储特定的用户会话所需的信息。当用户在应用程序(即网站)的页面之间跳转时,存储在SeSSiOn对象中的变量不会清除。当超过设置SeSSion变量对象的有效时间时,SeSSion变量就会消逝。SeSSion对象的变量默认的有效期为20分钟。Application对象与Session对象是有区分的,两者的差异主要体现为如下三点:1.共享与独享。Application对象记录的是全部阅读器端共享的变量,而Session对象只记录单个阅读器端专用的变量。即每个访问网站的阅读器用户具有各自的SeSSion对象变量,但共享一个APPliCatiOn对象。2 .生存期不同。SeSSion对象的变量具有有效期,超过该有效期则消逝。Application对象的变量在Web服务器软件关闭或重启之前始终有效,并不会因为个别或全部终端用户关闭阅读器而消逝。3 .操作方法不同。Session对象须要设置生存期,Application对象则不必设置生存期。APPliCatiOn对象由于是共享的,在操作相关变量的时候,须要加锁和解锁操作,SeSSion对象则不必如此。SeSSion对象有两个事务,即SeSSion_Start和SeSSion_End。可以在全局文件GlobaLasax中为这两个事务指定执行的代码。当会话起先时,服务器在GlobaLasax文件中查找并处理SeSSion_Start事务对应的代码;在会话结束时,服务器将处理Session.End事务对应的代码。Cookies与Session和Application对象类似,也是一种集合对象,都用来保存数据。但Cookies和其他对象的最大不同在于Cookies将数据存放在客户端的磁盘上,而Application和Session对象将数据存放在Web服务器上。通过Response对象可以写入Cookies数据,运用Request对象既可以读取也可以写入Cookie数据。设定COOkie变量的生命周期,运用COokie变量的EXPireS方法,其语法如下:Response.Cookies(CookieName).Expires=#日期#四、ASP.NET控件。ASRNET的服务器控件分为Web服务器控件、HTML服务器控件和用户自定义控件三大类。对于ASP.NETWeb开发,离不开这些控件的运用,因此,对于一些常用控件的重要属性、方法和事务,我们确定要娴熟驾驭并灵敏运用。下面,先简要介绍Web服务器控件。对于全部的Web服务器控件,有一些重要属性是相同的,例如ID、Enabled.Visible、ACCeSSKey、AUtoPoStBaCk等属性。ID属性是控件的名称,在同一个页面中要求每个控件都运用唯一的ID来标识。EnabIed属性确定在最终页面上控件能否响应用户的操作,取值为false,则控件不行用。Visible属性确定控件在运行页面上的可见性,取值为false,则控件在页面上不行见。AccessKey属性用于设置控件运用的键盘快捷键。AutoPostBack属性是绝大多数Web服务器控件都具有的属性,假如希望控件内容变换后立刻回传表单至Web服务器,则须要将控件的AuloPostBack属性设置为trueo1.abel也称为标签控件,一般用来给文本框、列表框、组合框等控件添加描述性的文字,或给窗体添加说明文字,或用来显示处理结果等信息。Label控件显示的内容可以在属性窗口中设定,也可以在程序运行时编写代码进行修改。Label控件最重要的属性是Text属性,该属性显示用户的文本信息。TeXtBoX也称为文本框控件,用于让用户在Web页面中输入文本信息,在某些状况下,也可以用来显示文本信息。TextBox控件的重要属性如下表所示。属性名称说明Text控件显示的文本TextMode该属性只能取SingleLine>MultiLine和Password,对应的显示模式分别是单行、多行或密码文本。ReadOnIy防止用户更改文本MaxLength文本框中所允许输入的最大字符数AutoPostBack设置为True时,当用户更改内容后离开控件时,导致控件触发TextChangedpostback事务。默认状况下设置为False.TextChanged事务TeXtBoX控件所能响应的最重要的事务。当用户输入信息后离开TextBoxWeb服务器控件时,控件引发程序员可以处理的此事务。VS2023供应了四种类型的限制权转移控件,它们分别是按钮(BUttOn)控件、图片按钮(ImageBUttOn)控件、超链接按钮(LinkBUItOn)控件和超链接(HyPerLink)控件。Button控件是一个标准的提交按钮,运用它可以完成把信息反馈给服务器的操作。其常用属性和事务如下表所示。说明属性或者事务名称Text属性获得/设置按钮上显示的文本Enabled属性假如该属性的值为False,则按钮不行用Click事务单击按钮时会引发该事务,且包含该按钮的窗体会提交给服务器与BUtton按钮一样,单击ImageBUttOn控件也可以将信息反馈给服务器,并驱动某一事务过程。两者不同的是,ImageButton控件是一个图片按钮,可以用它来链接一个图片。其常用的属性或事务如下表所示。属性或者事务名称说明Text属性获得/设置按钮上显示的文本(VS2023无此属性)Click事务单击按钮时会引发该事务,且包含该按钮的窗体会提交给服务器ImageURL属性指定按钮图像的URL(图像须要通过解决方案资源管理器添加进项目)1.inkButton控件的作用与Button控件的作用完全一样。只不过Button控件是以按钮的形式显示的,而LinkButton控件是以文字链接的形式显示。HyperLink控件除了可以链接文字以外,还可以链接图片。此控件没有公开事务,它的常用属性如下表所示。属性名称说明Text链接的文本标签Target链接的目标窗口或框架。可能的值为。p、,self.parents_search或_blankNavigateURL单击链接时用户即将链接到的页面的URLImageURL指定用于链接的图像的URL在VS2023中,供应选择的Web服务器控件有CheCkBoX(复选框控件)、CheCkBoXList(复选框列表控件)、RadiOBUtton(单选按钮控件)、RadioBUttonLiSt(单选按钮列表控件)、LiStBoX(列表框控件)、DrOPdOWnLiSt(下拉列表框控件)。CheckBox控件和CheckBoxList控件是两个用于实现复选操作的服务器控件。CheckBox控件是一个方型多选控件,多个CheckBox控件可以组合成一个CheckBoxList控件,在效果上是一样的,即CheckBoxList控件可以作为CheckBox控件的父控件。CheckBox控件和CheckBoxList控件具有相同的属性Checked,当该属性取值为true时,表示控件被选中。RadioButton控件是单项选择按钮控件,多个RadioButton控件组合在一起就可以形成一个RadioBUttonLiSt控件。即RadioBultonList控件可以作为RadioBUtton控件的父控件。RadioButton控件的常用属性和方法如下表所示。属性或方法说明Text获得或设置与CheckBox关联的文本值TextAIiagn获得或设置与CheckBox控件关联的文本的对齐方式GroupName获得或设置单选按钮所属的组名EnableViewState控件是否保留ViewState状态CheckedChanged当控件的Checked属性的值在向服务器进行发送期间更改时发生Load当服务器控件加载到Page对象中时发生的事务GroupName是RadioButton控件的一个重要属性,利用它,可以使得同一Web页面上的多个RadioButton控件具有互斥作用。在一个Web页面中运用多个RadioButton控件,它们并不会自动具有互斥的作用。只有网页开发人员将这些RadioButton控件的GroupName属性设为一样,这些控件才能组成一组有关联的单选控件,此时,在组内只能选择一个RadioButton控件,即这些RadioButton控件具有互斥的作用。下拉列表框控件(DrOPDoWnLiSt)是一个用下拉框形式显示选项的控件,它的功能与RadioBUttonLiSt控件很类似,允许用户从预定义下拉列表中选择一项。列表框(LiStBOX)控件可用于设计单选或多选的列表框。该控件与DropDownList用法很相像,主要有两点不同:一是其选择项按设置列出,而不像DrOPDOWnLiSt控件那样将选项隐藏;二是它允许选择多项,而DrOPDoWnLiSt控件只允许单选。ASRNET有两种WEB服务器控件,即PlaceHolder控件和Panel控件。PlaceHolder控件是ASP.NET控件中比较特殊的一个控件,该控件可以作为其他控件的容器。运用该控件可以再程序动态运行时,可以把子控件添加到页面的特定位置上。Panel控件和PlaceHolder控件一样,可以作为其他控件的容器。可以对Panel控件中包含的全部控件进行统一配置,例如同时限制多个子控件的可见性和可用性,而不须要繁琐地设置每个子控件的Visible属性或Enabled属性。其他高级控件是用于特定用途的控件,只能用于特殊任务。此处只简洁介绍AdRotator控件和Calendar控件。AdRotator,即广告控件,用于显示横幅广告集合中的随机选择内容,该集合在基于XML的广告文件中指定。Calendar,即日历控件,允许开发人员供应基于日历的界面,用于选择日期或查看与日期相关的数据。Calendar控件基于.NETFrameworkDateTime对象,因此支持该对象所允许的全部日期范围,可以有效地显示公元09999年之间的随意日期。下面简要介绍HTML服务器控件。HTML服务器控件是在HTML网页标记基础上产生的。HTML网页标记只能用于客户端编程,为了使服务器端编程能够干脆操作HTML网页标记,于是在ASP.NET中引入了HTML服务器控件。几乎任何HTML标记都可以转换为HTML服务器控件,转换的方法是在标记中添加RUnat="server”属性。HTML服务器控件与HTML标记的关系如下图所zjO假如要在代码中作为成员引用HTML控件,还应当为控件支配ID属性。例如:<FormRunat-'serverId-tTestPage,><Body><InputRUnat="server"Id="Btn”Type-Submif,OnServerClick-0P,><Input>HTML服务器控件的基本语法:<HTML标记Id="控件名称“RUnat="Server”,由于HTML控件是由HTML标记所衍生出来的新功能,因此在全部的HTML控件的语法中,最前端是HTML标记,不同的控件用不同的标记;RUnat="Server”表示控件将会在服务器端执行;Id用来设置控件的名称,在一个程序中各控件的Id均不相同,具有唯一性。Id属性允许以编程方式引用该控件。HTML服务器控件有几个共同的属性会经常被运用,它们是:Innerhtml'InnerTextDisabled、Visible>Value、Attributeso(I)IlmerHtml属性。获得或设置控件的起先标记和结束标记之间的内容,但不自动将特殊字符转换为等效的HTML实体。(2)InnerText属性。获得或者设置控件的起先标记和结束标记之间的内容,并自动将特殊字符转换为等效的HTML实体。(3)Value属性。该属性用来获得各种输入字段的值,包括HtmlSelectHtmlInputText等。(4)Attributes属性。该属性是服务器控件标记上表示的全部属性名称和值的集合。运用该属性可以用编程方式访问HTML服务器控件的全部特性。运用Attributes属性的语法是:控件名称.Attributes(“属性名”)="属性值”。例如,BUttonLAttribUteS("Value”尸“确定”,该语句的功能是将Buttonl的Value属性设置为“确定”。(5)DiSabIed属性。获得或设置一个TrUe或FalSe值。TrUe表示HTML服务器控件被禁用,False表示HTML服务器控件未被禁用。ViSibIe属性。获得或设置一个TrUe或FalSe值,该值指示服务器控件是否显示在页面上。TrUe表示可见,FalSe表示不行见。到目前为止,我们介绍了Web服务器控件、HTML服务器控件等控件,这些控件都是ASP.NET内置的。假如有特殊需求,可以创建可重复运用的自定义控件,这些控件称作用户控件。用户控件是一种复合控件,它的工作原理特殊类似于ASP.NET网页。可以在用户控件中添加Web服务器控件和标记,并可以定义控件的属性和方法。用户控件文件的扩展名为.ascx°用户控件中默认包含的代码如下:<%ControlLanguage="CAutoEventWireup="trueCodeFile="WebUserControl.ascx.csInherits="WebUserControl"%>一般说来,用户控件和ASP.NET页面具有如下区分:1 .用户控件的文件扩展名为.ascx,ASRNET页面的则为.aspx。2 .用户控件中包含“COntrOr指令,用来定义用户控件专有属性;ASRNET页面则包含“Page”指令定义页面专有属性。3 .用户控件不能作为独立文件运行,而必需像处理任何其他控件一样,将他们添加到ASP.NET页面中;ASRNET页面可作为独立文件运行。4 .用户控件中不能包含html、body或form元素,ASP.NET页面则相反。在Web窗体中添加一个RegiSter指令,用于注册用户控件,代码如下:<%RegisterTagPrefix=',uc"TagName=nWebUserControlnSrc=nWebuserControLascx"%>在VS2023可视化环境中,只要在资源管理器中拖动用户控件到Web窗体,就可将用户控件添加到Web窗体中。同时,注册用户控件的RegiSter指令代码将自动生成。五、ASP.NET验证控件ASRNET供应了许多验证控件,用以检查输入并使验证数据更加简洁便利。与其他服务器控件一样,验证控件也被添加在ASRNET页面中。VS2023供应了六种验证控件,如下表所示。验证控件说明RequiredFieldValidator非空验证控件CompareValidator比较验证控件RangeVaIidator范围验证控件RegularExpressionValidator正则表达式验证控件CustomValidator自定义验证控件ValidationSummary验证总结控件RequiredFieldValidator控件被称为非空验证控件,常用于对TextBox控件进行非空验证。假如在网页上运用了非空验证控件,当用户提交网页到服务器时,系统会自动检查被验证控件的输入是否为空;假如为空,则网页显示错误信息。定义RequireFieldValidator控件的代码如下:<asp:RequiredFieldValidatorID=nRequiredFieldVaIidatorl',runat="server"EITorMeSSage="错误信息!nControlToValidate="txtUserName"><asp:RequiredFieldValidator>运用<asp:ReqUiredFieIdValitator>表示来定义控件,ErrorMessage属性用于指定未通过验证时显示的错误信息,ControlToValidate属性用于指定待验证的TextBox控件。CompareValidator控件也被称之为比较验证控件,它是用来验证两个控件的值或者控件与某个值之间的关系。CompareValidator控件的几个重要属性及其说明如下表。属性名说明ControlToCompare要与所验证的输入控件进行比较的输入控件的IDOperator要执行的比较操作Type对控件的值依据哪种方式进行比较,默认StringValueToCompare设置要与所验证的控件的值进行比较的值因为在输入控件中可以输入货币、浮点数、整数及字符串等,所以须要设置控件的值依据什么类型的值进行验证。CompareValidator控件可以进行验证的类型如下表所示。类型说明Currency按货币类型比较,小数点后最多两位数字Date按日期类型比较(不带时分秒)Double按浮点数类型比较Integer按整数类型比较String按字符串类型比较在进行验证的时候,还可以指定两个值之间满足什么关系才能通过验证,这个关系可以通过设置Operator属性来指示,分别有V(LessThan)、<=(LessThanEqual)>!=(NotEqual)>=(Equal)>>(GreaterThan)及>=(GreaterThanEqual)。假如要将所验证的控件的值与某个指定的值进行比较,那么不必设置ControlToCompare属性的值,而应设置ValueToCompare属性的值。留意:请不要同时设置ControlToCompare属性和ValueToCompare属性,假如同时指定了这两个属性,则ValueToCompare属性优先。须要进一步指出的是,在中除了ReqUiredFieIdVaIidator控件之外,运用CompareValidator控件、RangeValidator控件和RegularExpressionValidator控件进行验证时,所验证的控件假如没有任何输入也是能通过验证的,但是假如输入的数据不符合验证规则就不能通过验证。要是要求用户必需输入并且还要符合确定规则,上述的控件就须要结合RequiredFieldValidator控件共同验证。RangeValidator控件也称之为范围验证控件,也就是只有当用户填写的非空数据不在指定的范围之间时就不能通过验证。RangeValidator控件的重要属性如下表所示。属性名说明MaximumValue允许的最大值MinimumValue允许的最小值Operator要执行的比较操作Type对控件的值依据哪种方式进行比较,默认String该控件能够对以下5种数据类型的数据进行验证:(1) String,用来验证字符串;(2) Integer,用来验证整数;(3) Date,用来验证日期;(4) Double,用来验证双进度数;(5) Currency,用来验证货币。RegularExpressionValidator控件又被称为正则表达式验证控件,它的验证功能比其他验证控件更强大,用户可以定义或书写自己的验证表达式。定义RegularExpressionValidator控件的代码如下:<aspIRegularExpressionWlidatorID=itRegularExpressionValidator,runat=4servernErrorMessage=4tRegularExpressionValidator,><aspegularExpressionValidator>RegularExpressionValidator控件的常用属性如下表所示。属性说明ControlToValidate用于指定待验证的控件的IDErrorMessage指定未通过验证时显示的错误信息ValidationExpression设置或获得指定为验证条件的正则表达式什么是正则表达式?正则表达式供应了功能强大、灵敏而又高效的方法来处理文本。正则表达式的全面模式匹配表示法使您可以快速分析大量文本以找到特定的字符模式;提取、编辑、替换或删除文本子字符串;或将提取的字符串添加到集合以生成报告。对于处理字符串(例如HTML处理、日志文件分析和标头分析)的许多应用程序而言,正则表达式是不行缺少的工具。正则表达式由两种基本字符类型组成:原义(正常)文本字符、元字符以及限定符,如下图所示。历义立本字布II兀/譬如,验证手机号码的正则表达式为(130-9)(1589)d8此处要求手机号必需是13开头或者是158、159开头的并且总长度是11位数字。ValidationSummary控件又称为错误总结控件,是用于显示验证全部验证错误摘要的控件,当我们将其他验证控件的Display属性设置None的时候,验证错误信息就通过ValidationSummary控件进行显示。ValidationSummary控件的三个常见属性如下表所示。属性名说明DisplayMode指定显示模式,有BMIetLiSt(公告板)、LiSt(列表)、SingleParagraph(一段文字)三种模式ShowMessageBox是否以客户端提示框的信息显示验证错误信息摘要ShowSummary是否在网页中接受内联方式显示错误摘要特殊提示:当运用错误总结控件时,其他验证控件的DiSPIay属性必需设置为NoneoCUStOmVaIidatOr控件也成为自定义验证控件,开发人员可以自定义该控件的验证函数,实现自己特性化验证。CUStomValidator控件与其他验证控件的最大区分是该控件可以添加客户端验证函数和服务器端验证函数。ClIStomValidatOr控件的主要属性和方法如下表所示。属性和方法说明ClientValidationFunction属性指定自定义客户端验证函数ControlToValidate获得或设置待验证的输入控件ErrorMessage验证失败时输出的错误信息OnSer