• 验证码和验证控件


    一般处理程序: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来分组,汇总同一组的
  • 相关阅读:
    [WCF安全系列]从两种安全模式谈起
    为自定义配置的编辑提供”智能感知”的支持
    在Entity Framework中使用存储过程(二):具有继承关系实体的存储过程如何定义?
    [WCF安全系列]实例演示:TLS/SSL在WCF中的应用[HTTPS]
    [WCF安全系列]谈谈WCF的客户端认证[Windows认证]
    在Entity Framework中使用存储过程(三):逻辑删除的实现与自增长列值返回
    [转] Leaving patterns & practices
    两个简单的扩展方法:TrimPrefix和TrimSuffix
    Oracle 系统表
    让IoC动态解析自定义配置(提供基于Unity的实现)
  • 原文地址:https://www.cnblogs.com/roboot/p/12020958.html
Copyright © 2020-2023  润新知