1 / 24

验证控件和用户控件

验证控件和用户控件. 学习内容. 客户端数据验证 服务器端数据验证 服务器验证控件 用户控件. 客户端数据验证. 客户端数据验证通常是对客户端浏览器中窗体上的数据进行验证,是为客户端浏览器传送的页面提供一个脚本,通常采用的是 JavaScipt 形式,在窗体回送到服务器之前,对数据进行验证。 客户端数据验证的突出优点使能够快速的向用户提供验证结果的反馈,当用户的信息输入有错误的时候,可以立即显示一条错误的信息,而不需要将这些数据传输到服务器,减少了服务器处理压力的负担。

Download Presentation

验证控件和用户控件

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 验证控件和用户控件

  2. 学习内容 • 客户端数据验证 • 服务器端数据验证 • 服务器验证控件 • 用户控件

  3. 客户端数据验证 • 客户端数据验证通常是对客户端浏览器中窗体上的数据进行验证,是为客户端浏览器传送的页面提供一个脚本,通常采用的是JavaScipt形式,在窗体回送到服务器之前,对数据进行验证。 • 客户端数据验证的突出优点使能够快速的向用户提供验证结果的反馈,当用户的信息输入有错误的时候,可以立即显示一条错误的信息,而不需要将这些数据传输到服务器,减少了服务器处理压力的负担。 • 但是客户端的验证没有直接访问数据库的功能,无法实现用户合法性的验证。用户可以很容易的就查看到页面的代码,而且有可能伪造提交的数据 ,仅仅依靠客户端的验证是不安全的。

  4. 服务器端数据验证 • 在Web应用程序中用户提交的数据经客户端浏览器发送到服务器端,服务器验证控件验证用户提交的数据,称之为服务器端数据验证。 • 处理用户输入时,验证控件会对用户输入进行测试,并设置属性以指示该输入是否通过测试。调用了所有验证控件后,会在页面上设置一个属性以指示是否出现验证检查失败。 • 验证控件通常在呈现的页面中不可见。但是,如果控件检测到错误,则它将显示指定的错误信息文本。 • 服务器端数据验证相对而言很安全,也可以不考虑客户端的浏览器是否支持客户端脚本语言,一旦提交的数据无效,页面就会回送到客户机上。由于页面必须提交到一个远程位置进行检验,这使得服务器端的验证过程比较慢。

  5. 服务器验证控件 • 为了更好的创建交互式Web应用程序,加强应用程序安全性(例如,防止脚本入侵等),程序开发人员应该对用户输入的内容进行验证。ASP.NET提供了验证控件来帮助程序开发人员来实现输入验证功能。ASP.NET共包含5个验证控件。 • RequiredFieldValidator、CompareValidator、RangeValidator、RegularExpressionValidator和CustomValidator,这些控件直接或者间接派生System.Web.UI.WebControls.BaseValidator。每个验证控件执行特定类型的验证,并且当验证失败时显示自定义消息。

  6. 服务器验证控件 RequiredFieldValidator控件 • RequiredFieldValidator控件的功能是指定用户必须为某个在ASP.NET网页上的特定控件提供信息。 • RequiredFieldValidator控件绑定到用户名文本框,当用户名为空时RequiredFieldValidator控件就会弹出“用户名为空”的提示信息。

  7. 服务器验证控件 • RequiredFieldValidator控件的使用一般是通过对其属性设置来完成的,该控件常用的属性 : • ControlToValidate:通过设置该属性为某控件的ID来把验证控件绑定到需要验证的控件。 • ErrorMessage:通过该属性来设置当验证控件无效时需要显示的信息。 • ValidationGroup:绑定到验证程序所属的组。 • Text:当验证控件无效时显示的验证程序的文本。 • Display:通过该属性来设置验证控件的显示模式,该属性有三个值:None表示验证控件无效时不显示信息;Static表示验证控件在页面上占位是静态的,不能为其它空间所占;Dynamic表示验证控件在页面上占位是动态的,可以为其它空间所占,当验证失效时验证控件才占据页面位置。

  8. 服务器验证控件 CompareValidator控件 • CompareValidator控件的功能是验证某个输入控件里输入的信息是否满足事先设定的条件。 • 例如当输入某种商品的价格时,希望用户输入的值大于0,这样利用CompareValidator控件绑定到商品价格文本框,并设置适当条件来控制操作人员的误输入小于0的数值。

  9. 服务器验证控件 • CompareValidator控件的使用一般也是通过对其属性设置来完成的,该控件常用的属性: • ControlToValidate:通过设置该属性为某控件的ID来把验证控件绑定到需要验证的控件。 • ErrorMessage:通过该属性来设置当验证控件无效时需要显示的信息。 • ValidationGroup:绑定到验证程序所属的组。 • Text:当验证控件无效时显示的验证程序的文本。 • Display:通过该属性来设置验证控件的显示模式。 • Operator:通过该属性来设置比较时所用到的运算符。 • ValueToCompare:设置用来做比较的数据。 • ControlToCompare:设置用来做比较的控件,需要让验证控件控制的控件和其它控件里的数据做比较就会用到这个属性。

  10. 服务器验证控件 RangeValidator控件 • RangeValidator控件的功能是验证用户对某个文本框的输入是否在某个范围之内,如输入的数值是否在某两个数值之间,输入的日期是否在某两个日期之间等。

  11. 服务器验证控件 • RangeValidator控件的使用一般也是通过对其属性设置来完成的,该控件常用的属性 : • ControlToValidate:通过设置该属性为某控件的ID来把验证控件绑定到需要验证的控件。 • ErrorMessage:通过该属性来设置当验证控件无效时需要显示的信息。 • ValidationGroup:绑定到验证程序所属的组。 • Text:当验证控件无效时显示的验证程序的文本。 • Display:通过该属性来设置验证控件的显示模式。 • Type:通过该属性来设置按照哪中数据类型来进行比较。 • MaximumValue:设置用来做比较的数据范围上限。 • MinimumValue:设置用来做比较的数据范围下限。

  12. 服务器验证控件 RegularExpressionValidator控件 • RegularExpressionValidator控件的功能是验证用户输入的数据是否符合规则表达式预定义的格式,如输入的数据是否符合电话号码、电子邮件等的格式。

  13. 服务器验证控件 • RegularExpressionValidator控件的使用一般也是通过对其属性设置来完成的,该控件常用的属性 : • ControlToValidate:通过设置该属性为某控件的ID来把验证控件绑定到需要验证的控件。 • ErrorMessage:通过该属性来设置当验证控件无效时需要显示的信息。 • ValidationGroup:绑定到验证程序所属的组。 • Text:当验证控件无效时显示的验证程序的文本。 • Display:通过该属性来设置验证控件的显示模式。 • ValidationExpression:通过该属性来设置利用正则表达式描述的预定义格式。

  14. 服务器验证控件 CustomValidator控件 • CustomValidator控件的功能是能够调用程序员在服务器端编写的自定义验证函数。有时使用现有的验证控件可能满足不了程序员的需求,因此有时可能需要程序员自己来编写验证函数,而通过CustomValidator控件的服务器端事件可以该验证函数绑定到相应的控件。

  15. 服务器验证控件 • CustomValidator控件的使用一般也是通过对其属性设置来完成的,该控件常用的属性: • ControlToValidate:通过设置该属性为某控件的ID来把验证控件绑定到需要验证的控件。 • ErrorMessage:通过该属性来设置当验证控件无效时需要显示的信息。 • ValidationGroup:绑定到验证程序所属的组。 • Text:当验证控件无效时显示的验证程序的文本。 • Display:通过该属性来设置验证控件的显示模式。 • ValidationEmptyText:通过该属性来判断绑定的控件为空时是否执行验证,该属性为true含义是绑定的控件为空时执行验证,为false含义则是绑定的控件为空时不执行验证。 • IsValid:获取一个值来判断是否通过验证,true表示通过验证,而false表示不通过验证。

  16. 服务器验证控件 • ValidationSummary控件 • 该控件用于显示页面中的所有验证错误的摘要。当页面上有很多验证控件时,可以使用一个ValidationSummary控件在一个位置总结来自Web页上所有验证程序的错误信息。 • 该控件常用的属性: • HeaderText :验证摘要页的标题部分显示的文本。 • ShowMessage :指定是显示还是隐藏 该控件,如果属性值为true则显示控件,否则不显示该控件。 • DisplayMode :通过该属性来设置验证摘要的显示模式 。 • ValidationGrop :用于指定验证控件所属的验证组的名称。

  17. 用户控件概述 • ASP.NET提供了一种称为用户控件的技术可以让程序员根据自己的需要来开发出自定义的控件,并把这种开发出来的自定义控件称为用户控件。 • ASP.NET页面使用用户控件(控件组合)。减少重复代码的编写工作,以提高开发效率

  18. 用户控件 • 一个用户控件就是一个简单的ASP.NET页面,不过它可以被另外一个ASP.NET页面包含进去。 • 用户控件存放在文件扩展名为.ascx的文件中。 • .ascx文件中,用户控件代码格式和.aspx文件中的代码格式非常相似,但是.ascx文件中没有<html>标记,也没有<body>标记和<form>标记,因为用户控件是要被.aspx文件所包含,而这些标记在一个.aspx文件都只能包含一个。

  19. 用户控件 • 用户控件和ASP.NET网页的区别: • 用户控件的文件扩展名为.ascx。 • 用户控件中没有@ Page指令,而是包含@ Control指令,该指令对配置及其他属性进行定义。 • 用户控件不能作为独立文件运行。而必须像处理任何控件一样,将它们添加到ASP.NET页中。 • 用户控件中没有html、body或form元素。这些元素必须位于宿主页中。

  20. 用户控件 • 创建用户控件过程比较简单,主要包含一下几个步骤: (1) 右键单击网站项目名称或者网站项目名称下某个文件夹名字,在弹出的菜单中选择“添加新项…”命令,打开“添加新项”对话框。 (2) 在“添加新项”对话框里选择Web用户控件模板,文件默认文件名为WebUserControl.ascx,可以根据需要自行修改。

  21. 用户控件 (3) 单击“添加”按钮,关闭“添加新项”对话框并在网站项目目录下添加一个WebUserControl1.ascx文件和一个WebUserControl1.ascx.cs文件。

  22. 用户控件 • 在.ascx页面文件中添加用户控件的界面定义: <%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>

  23. 用户控件 • 使用用户控件只需要把用户控件拖放到页面上,并设置相关属性,即可实现对该用户控件的引用。 • 向页面中注册要添加的用户控件: <%@ Register src="WebUserControl1.ascx" tagname="WebUserControl1" tagprefix="uc1" %> • @ Register指令用来通过属性src指定要注册的用户控件所在文件, • 属性tagname指定声明声明用户控件时所使用的类名, • 属性tagprefix指定声明控件时候所使用的前缀。

  24. 用户控件 • 在页面中使用用户控件WebUserControl1的代码 <uc1:WebUserControl1 ID="WebUserControl11" runat="server" /> 说明:利用@ Register指令在页面中注册的信息声明了WebUserControl1用户控件的一个实例。 • 用户控件在页面中的定义代码同标准的Web控件非常类似,只不过前缀和控件类换成用户控件自己所特有的信息。

More Related