客户端和服务器端验证:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
RequiredFieldValidator:是否为空
RangeValidator:范围(修改Type)
RegularExpressionValidator:正则表达式验证
CustomValidator:自定义验证(代码自己写):先设置ClientValidationFunction一个事件名:然后在本页面内<head>内写好方法具体要怎么验证:
eg:自定义的验证的3步
1.客户端验证:
<script language="javascript">
function ClientClick(o,e)//为什么传参数:因为只有传过来参数后才能得到是否通过验证IsValid
{
var n=e.Value;//是输入的值
if(n%2==0)
e.IsValid=true;//判断提交
else
e.IsValid=false;
}
</script>
注意:当你使用的浏览器不支持脚本时:设置:EnableClientScript="false",以便可以在服务器端进行对它验证显示
2.服务器端验证:重复客户端验证:为了保证安全(因为有些浏览器不支持脚本),只有设置了EnableClientScript="false"时才能在服务器端看见效果
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
//重复客户端验证:为了保证安全(因为有些浏览器不支持脚本)
int n=int.Parse(args.Value);
if (n % 2 == 0)
args.IsValid = true;
else
args.IsValid = false;
}
3.页面验证:为了只有所有的验证通过验证时才存入数据库否则提示:
protected void Button1_Click(object sender, EventArgs e)
{
//页面验证:为了只有所有的验证通过时才存入数据库
if (Page.IsValid)
{
Label1.Text = TextBox1.Text;
}
else
Label1.Text = "请输入偶数";
}
CompareValidator:一般用于比较验证(比较有两种:1.和自已输入的固定值比较:设置ValueToCompare。2.和控件比较:设置ControlToCompare)
RangeValidator:总验证信息显示
1.Display:组合验证时尤为重要即多个验证控件同时使用在一个控件上,可以控制两个验证控件距控件的距离(注意:设置时两个验证控件必须全部设定)
2.当你同时设置了ErrorMessage和Text时,只显示Text上的设置
3.其他的验证控件不验证空值,所以一般RequireFieldValidator和其他控件一起使用
4.CompareValidator不只用于比较两密码是否相同,还可以用Type和Operator属性进行其他操作
eg:验证生日时:用CompareValidator把Type改为Date并且Operator改为DataTypeCheck(数据类型检查)
5.正则表达式验证:
\w:字母和数字,下划线
+:一次或多次
(s)?可以有s也可以没有
3到6位的数字或字母(包含下划线):\w{3,6}
1位汉字:[\u4e00-\u9fa5]
6.ValidationGroup:验证组:为了控制验证的范围
7.用户自定义控件:<ucl:web>web:标签名(TagName),ucl标签前缀(TagPrefix)
1.页面与用户控件的交互:(用户控件和界面传值)
//方式1:找控件
string s = ((TextBox)用户ID.FindControl("TextBox1")).Text;
Label1.Text=s;
//方式2:定义属性
public int age
{
get {return int.Parse(TextBox1.Text); }
set { TextBox1.Text = value.ToString(); }
}
public DateTime myBirth
{
get//读访问器
{
return Convert.ToDateTime(TextBox2.Text);
}
set
{
TextBox2.Text = value.ToLongTimeString();
}
}
2.页面.aspx改为用户控件:
1.把.aspx改为.ascx
2.把源代码中的<html>标签删除
3.把代码中的public partial class Default2 : System.Web.UI.Page中的Page改为UserControl
转载于:https://blog.51cto.com/aspneteye/258397