.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 ...
随机推荐
- Educational Codeforces Round 31 A. Book Reading【暴力】
A. Book Reading time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
- spoj - Grass Planting(树链剖分模板题)
Grass Planting 题意 给出一棵树,树有边权.每次给出节点 (u, v) ,有两种操作:1. 把 u 到 v 路径上所有边的权值加 1.2. 查询 u 到 v 的权值之和. 分析 如果这些 ...
- springboot 2.0+ 自定义拦截器
之前项目的springboot自定义拦截器使用的是继承WebMvcConfigurerAdapter重写常用方法的方式来实现的. 以下WebMvcConfigurerAdapter 比较常用的重写接口 ...
- Android Developer -- Bluetooth篇 开发实例之三 管理连接
Managing a Connection When you have successfully connected two (or more) devices, each one will have ...
- Word插入页码简单方法
适用于只有一个首页,若是从某一页,需要分节符,从某一页参考Word2007插入两种页码. 插入-页码-页面低端-弹到设计窗口.然后选择页码-设置页码格式-起始页码0-勾选首页不同.
- ios unit test 工程选择release时候报错Undefined symbols for architecture i386
Undefined symbols for architecture i386: "_OBJC_CLASS_$_ItemReturn", referenced from: objc ...
- TDD的iOS开发初步以及Kiwi使用入门
测试驱动开发(Test Driven Development,以下简称TDD)是保证代码质量的不二法则,也是先进程序开发的共识.Apple一直致力于在iOS开发中集成更加方便和可用的测试,在Xcode ...
- Android 使用SQLite本地数据库
参考:http://blog.csdn.net/jianghuiquan/article/details/8569252 在Android平台上,集成了一个嵌入式关系型数据库—SQLite.以SQLi ...
- 【Linux】CentOS7上的一些操作小方法
1.在文件夹目录下删除文件 点击文件,按Delete键删除,就可以把文件删除到回收站中. 2.更改命令窗口的样式 打开命令窗口--->右键---->配置文件---->配置文件首选项
- django xadmin的使用和改造
django本身自带一个强大的admin后台管理系统,但是管理起来并不是很方便.这里介绍下xadmin,xadmin是基于bootstrap和admin的一个更强大的后台管理系统 github地址ht ...