一、客户端验证(用户体验,减少服务器端压力)

 二、服务器端验证(防止恶意攻击,客户端js很容易被绕过)

 验证控件:RequiredFieldValidator:字段必填;RangeValidator:值在给定的最大值、最小值之间;CompareValidator:用于比较两个值的关系是否满足要求或者是否是指定类型的数据;RegularExpressionValidator:校验数据满足正则表达式;CustomValidator:自定义验证。

 属性:

  非空验证:ControlToValidate:设置要验证的控件;Text:显示错误消息;ErrorMessage:提供给ValidationSummary控件,如果Text为空,也会取ErrorMessage的值;Diaplay:Static:没有错误信息的时候控件的visiblity样式为hidden来实现隐藏;Dynamic:没有错误信息的时候控件的display样式为none来实现隐藏。这两者的区别是是visiblity:hidden隐藏控件仍然会占据空间,而display:none隐藏则不会占空间。Page.isValid:指示页面验证是否通过。验证控件在服务器端验证代码,默认在Page_Load事件之后执行。如想立即执行,需调用Page.Validate方法。SetFocusOnError:验证不通过时,该控件是否获得焦点;InitialValue:设置验证控件的默认值。如果控件的值没有改变,则认为要验证的控件值为空。

  比较验证:Operator:比较操作符,可选值DataTypeCheck、Equal、GreaterThan、GreaterThanEqul、LessThan、LessThanEqual、NotEqual。ValueToCompare:所比较的运算符右边的值。ControlToCompare:设定与另外一个控件进行比较。Type属性为数据类型(String、Integer、Double、Date、Currency等)。用法一 :两个控件比较 (Demo:比较两次输入的密码是否相同)。ControlToValidate (符号左边的),ControlToCompare 待比较的控件(符号右边的),Operator 比较操作,Type属性。用法二 :与一个定值进行比较(Demo:年龄必须大于18岁)。ValueToCompare,Operator 比较操作,Type属性。用法三: 类型检查 (Demo 年龄必须为数字)。ControlToVlidate 待检查类型的控件id,Operator DataTypeCheck,Type。

 当验证控件所指定的控件内容为空时,除了RequiredFieldValidator会触发验证,其他验证控件都不会。因为我们有这样的需求,在填写一张表的时候,有必填项有非必填项,非必填项可以不填写值,但如果填写,就一定要正确。所以除非空验证控件之外的其他验证控件所验证的控件,如果为空,则不会被查检,反之只要填写内容,为了保证正确,就要检查。所以对于年龄大于18岁并且又要求年龄必须填写这一需求,我们要使用非空和比较两个验证控件来实现。

 RangeValidator范围验证控件(Demo:订10天以内的火车票):MinimumValue、MaximumValue属性:为最大、最小值。在Page_Load事件中赋值。Type属性同ComareValidator。

 RegularExpressionValidator正则表达式验证控件:ValidationExpression 正则表达式 Vs提供常用的正则表达式。Demo:身份证 QQ号 Email地址 用户名在3-10位之间

 CustomValidator,自定义验证控件。当ASP.Net内置的验证控件无法满足要求的时候可以使用CustomValidator。需要手写客户端和服务器端验证代码,设置ClientValidationFunction。参考代码如下:

客户端:

function ClientValidate(source,clientside_arguments){
    &&clientside_arguments.Value%==){
        clientside_arguments.IsValid=true;
    }else{
        clientside_arguments.IsValid=false;
    }
}

服务端:

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
    {
        ;
        if (int.TryParse(args.Value, out i))
        {
             && i %  == )
            {
                args.IsValid = true;
            }
            else {
                args.IsValid = false;
            }
        }
        else {
            args.IsValid = false;
        }
    }

 ValidationSummary控件:用来集中显示错误消息。每个验证控件都有ErrorMessage、Text两个属性,ErrorMessage是用来显示到ValidationSummary中的值,Text是用来显示到Validator位置的值,如果Text为空,则ErrorMessage会同时显示到ValidationSummary和控件的位置。一般Text的值要简短,因为直接显示到控件的位置,能知道指的是哪个控件;ErrorMessage要详细一些,这样才能从ValidationSummary每条错误信息中读取值出来。ValidationSummary的属性:DiplayMode,显示模式,ShowMessageBox显示警告对话框。ShowSummary显示错误汇总

 Ajax中使用验证控件:Page_ClientValidate(null)调用页面所有验证控件;ValidatorValidate(验证控件id,验证分组,null)调用页面单个验证控件。
 ValidationGroup分组问题
 不需要触发验证控件的按钮 CausesValidation=“false” 

 服务器端控件处于母板页或模版中时,控件的服务端ID和客户端ID不同,在js中要用ClientID属性获得客户端ID(<%=id.ClientID%>)。

 在asp.net中提供了面包屑导航控件:SiteMapPath,需要提供站点地图,站点地图是基于xml格式的,站点地图的文件名必须为:Web.sitemap。TreeView一般用于左侧的树型菜单导航,可以基于一个xml文件,也可以通过写代码来操作。Menu一般用菜单导航。

 代码:

TreeView2.Nodes.Add(new TreeNode("a"));TreeView2.Nodes[0].ChildNodes.Add(new TreeNode("b"));
TreeView2.Nodes[0].ChildNodes[0].ChildNodes.Add(new TreeNode("c"));

.net验证控件,导航控件的更多相关文章

  1. 【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件

    目录 概述 功能 如何使用 参考帮助 概述 源代码主要包含三个项目,BMap.NET.BMap.NET.WindowsForm以及BMap.NET.WinformDemo. BMap.NET 对百度地 ...

  2. 【转】【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件

    [转][完全开源]百度地图Web service API C#.NET版,带地图显示控件.导航控件.POI查找控件 目录 概述 功能 如何使用 参考帮助 概述 源代码主要包含三个项目,BMap.NET ...

  3. 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(四)地图导航控件模块

    config.xml文件的配置如下: <widget left="10" top="50" config="widgets/Navigation ...

  4. 使用 ViewPager 和 RadioGroup 封装的一个导航控件

    import android.animation.ObjectAnimator; import android.content.Context; import android.graphics.dra ...

  5. openlayers4 入门开发系列之地图导航控件篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

  6. BottomNavigationBar 底部导航控件

    BottomNavigationBar 底部导航控件 属性 说明BottomNavigationBarItem 多个 item,iconSize icon大小currentIndex 默认选中第几个o ...

  7. 3ds Max 中的导航控件SteeringWheels入门介绍

    介绍 软件环境:3d Max2015 SteeringWheels 3D导航控件也可以说是“追踪菜单”,通过它们可以使用户从单一的工具访问不同的2D和3D导航工具.SteeringWheels可分成多 ...

  8. 3ds Max 中的导航控件ViewCube入门介绍

    介绍 ViewCube 3D导航控件提供当前方向的视觉反馈,让用户可以调整视图方向以及在标准视图与等距视图间进行切换. 软件环境:3d Max2015 第一步.启动3d Max软件,打开场景文件 Vi ...

  9. Add an Item to the Navigation Control 将项目添加到导航控件

    In this lesson, you will learn how to add an item to the navigation control. For this purpose, the N ...

随机推荐

  1. 搭建负载均衡的环境(利用虚拟机上的四台centos)

    以下转载: 准备 l 系统:Centos6  (三台) l 负载均衡:LVS  + keepalived l 服务器1:Http l 服务器2:Http ip配置 1.VIP(virtual ip): ...

  2. 八. 输入输出(IO)操作6.文件与目录管理

    目录是管理文件的特殊机制,同类文件保存在同一个目录下不仅可以简化文件管理,而且还可以提高工作效率.Java 语言在 java.io 包中定义了一个 File 类专门用来管理磁盘文件和目录. 每个 Fi ...

  3. 1.常量&变量

    简单体验 // 定义变量 var i = 10 println(i) i = 15 println(i) let j = 20 // 常量一经定义不能自改数值 // j = 25 println(j) ...

  4. 一个小时内学习SQLite数据库

    一个小时内学习SQLite数据库 2012-05-11 10:24 红薯 OSCHINA 字号:T | T SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. ...

  5. scala函数返回值

    1.使用returndef functionName ([参数列表]) : [return type] = { function body return [expr] } 2.直接把返回值写在最后: ...

  6. ElasticSearch 专业术语

    1.Analysis(分析) 分析的过程就是将全文(full text)转换成 术语/分词(terms). 这取决于使用那个分析器,这些短语:“FOO BAR”, “Foo-Bar”, “foo,ba ...

  7. python 读取CSV文件 中文乱码

    今天读取一个CSV文件,打印出来,中文显示乱码,原因是编码的缘故,CSV保存是编码格式ANSI,解决办法是以记事本方式打开CSV文件,然后另存为时编码选择UTF-8进行保存即可.

  8. wp8使用mvvm模式简单例子(二)---登陆功能,事件触发

    首先,还是需要一个Model类来为UI层的元素提供数据源 public class LoginModel:DependencyObject { public string Uid { get { re ...

  9. Kubernetes - 配置Nginx-Ingress 作为服务发现

    添加 Kubernetes ConfigMap配置来自定义端口与服务的映射关系 配置文件, 有二个在默认空间下web服务和api服务分别映射到自定义端口 9001, 9002 apiVersion: ...

  10. Troubles in Building Android Source Code

    Some Troubles or problems you may encounter while you setup the Android source code build environmen ...