.net验证控件,导航控件
一、客户端验证(用户体验,减少服务器端压力)
二、服务器端验证(防止恶意攻击,客户端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验证控件,导航控件的更多相关文章
- 【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件
目录 概述 功能 如何使用 参考帮助 概述 源代码主要包含三个项目,BMap.NET.BMap.NET.WindowsForm以及BMap.NET.WinformDemo. BMap.NET 对百度地 ...
- 【转】【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件
[转][完全开源]百度地图Web service API C#.NET版,带地图显示控件.导航控件.POI查找控件 目录 概述 功能 如何使用 参考帮助 概述 源代码主要包含三个项目,BMap.NET ...
- 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(四)地图导航控件模块
config.xml文件的配置如下: <widget left="10" top="50" config="widgets/Navigation ...
- 使用 ViewPager 和 RadioGroup 封装的一个导航控件
import android.animation.ObjectAnimator; import android.content.Context; import android.graphics.dra ...
- openlayers4 入门开发系列之地图导航控件篇(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- BottomNavigationBar 底部导航控件
BottomNavigationBar 底部导航控件 属性 说明BottomNavigationBarItem 多个 item,iconSize icon大小currentIndex 默认选中第几个o ...
- 3ds Max 中的导航控件SteeringWheels入门介绍
介绍 软件环境:3d Max2015 SteeringWheels 3D导航控件也可以说是“追踪菜单”,通过它们可以使用户从单一的工具访问不同的2D和3D导航工具.SteeringWheels可分成多 ...
- 3ds Max 中的导航控件ViewCube入门介绍
介绍 ViewCube 3D导航控件提供当前方向的视觉反馈,让用户可以调整视图方向以及在标准视图与等距视图间进行切换. 软件环境:3d Max2015 第一步.启动3d Max软件,打开场景文件 Vi ...
- 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 ...
随机推荐
- 搭建负载均衡的环境(利用虚拟机上的四台centos)
以下转载: 准备 l 系统:Centos6 (三台) l 负载均衡:LVS + keepalived l 服务器1:Http l 服务器2:Http ip配置 1.VIP(virtual ip): ...
- 八. 输入输出(IO)操作6.文件与目录管理
目录是管理文件的特殊机制,同类文件保存在同一个目录下不仅可以简化文件管理,而且还可以提高工作效率.Java 语言在 java.io 包中定义了一个 File 类专门用来管理磁盘文件和目录. 每个 Fi ...
- 1.常量&变量
简单体验 // 定义变量 var i = 10 println(i) i = 15 println(i) let j = 20 // 常量一经定义不能自改数值 // j = 25 println(j) ...
- 一个小时内学习SQLite数据库
一个小时内学习SQLite数据库 2012-05-11 10:24 红薯 OSCHINA 字号:T | T SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. ...
- scala函数返回值
1.使用returndef functionName ([参数列表]) : [return type] = { function body return [expr] } 2.直接把返回值写在最后: ...
- ElasticSearch 专业术语
1.Analysis(分析) 分析的过程就是将全文(full text)转换成 术语/分词(terms). 这取决于使用那个分析器,这些短语:“FOO BAR”, “Foo-Bar”, “foo,ba ...
- python 读取CSV文件 中文乱码
今天读取一个CSV文件,打印出来,中文显示乱码,原因是编码的缘故,CSV保存是编码格式ANSI,解决办法是以记事本方式打开CSV文件,然后另存为时编码选择UTF-8进行保存即可.
- wp8使用mvvm模式简单例子(二)---登陆功能,事件触发
首先,还是需要一个Model类来为UI层的元素提供数据源 public class LoginModel:DependencyObject { public string Uid { get { re ...
- Kubernetes - 配置Nginx-Ingress 作为服务发现
添加 Kubernetes ConfigMap配置来自定义端口与服务的映射关系 配置文件, 有二个在默认空间下web服务和api服务分别映射到自定义端口 9001, 9002 apiVersion: ...
- Troubles in Building Android Source Code
Some Troubles or problems you may encounter while you setup the Android source code build environmen ...