验证码和验证控件
一般处理程序:ashx,接受请求,处理后输出,无页面,其他同aspx中的.cs 验证码: <%@ WebHandler Language="C#" Class="show" %> using System; using System.Web; using System.Drawing; using System.Web.SessionState;//IRequiresSessionState的命名空间 public class show : IHttpHandler, IRequiresSessionState{ public void ProcessRequest (HttpContext context) { context.Response.ContentType = "image/jpeg";//要输出的类型 Bitmap img = new Bitmap(50, 20);//造空白图 Graphics gr = Graphics.FromImage(img);//往哪个图上去绘制 Font font = new Font("宋体", 12, FontStyle.Bold);//设置字体 SolidBrush brush = new SolidBrush(Color.White);//设置刷子 gr.FillRectangle(brush, 0, 0, 50, 20);//刷子绘制的形状 brush.Color = Color.Red;//颜色 string s = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; string str = ""; Random rand = new Random();//初始化随机数 for (int i = 0; i < 4; i++) { int start = rand.Next(62); //生成一个随机的起始位置 str += s.Substring(start, 1).ToString(); } context.Session["yanzheng"] = str; gr.DrawString(str, font, brush, 0, 0);//绘制完了图片了 //将图片保存,通过response响应流保存 img.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg); } public bool IsReusable { get { return false; } } } 验证控件: 比较:comparevalidator: errormessage:错误信息 controltovalidate:要验证的目标控件id comparetocontrol:要比对的控件 display:显示方式 Dynamic:动态显示,不显示错误的时候,不占空 None:不显示 static:标准显示,什么时候都占空 valuetocompare:验证值 正则表达式验证:regularexpressionvalidator errormessage:错误信息 controltovalidate:要验证的目标控件id display:显示方式 Dynamic:动态显示,不显示错误的时候,不占空 None:不显示 static:标准显示,什么时候都占空 validationexpression:验证表达式 非空验证:requiredfieldvalidator: errormessage:错误信息 controltovalidate:要验证的目标控件id display:显示方式 Dynamic:动态显示,不显示错误的时候,不占空 None:不显示 static:标准显示,什么时候都占空 公共属性: isvalid:是否验证成功 汇总验证器:validationsummary:只汇总,不验证 通过validationgroup来分组,汇总同一组的