.net图片验证码生成、点击刷新及验证输入是否正确

①创建ValidateCode.aspx,在ValidateCode.aspx.cs中加入如下代码。生成验证码图片,在页面上输出,输出jpeg格式。

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Bitmap b = new Bitmap(80, 30);// 图片大小
            Graphics g = Graphics.FromImage(b);// 对图片操作
            g.Clear(Color.Gray);// 填充背景色
            Font f = new Font("华文行楷", 20f); //设置字体和大小
            SolidBrush sb = new SolidBrush(Color.Wheat);//文字颜色

            String vcode = Radom(0, 9, 4);
            Session["ValidateCode"] = vcode;
            g.DrawString(vcode, f, sb, 10, 2);//图片上的文字,风格,颜色,位置

            b.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);//在页面上输出,输出jpeg格式
        }
    }

    private string Radom(int minValue, int maxValue, int length)
    {
        Random validateCode = new Random();
        string r = "";
        for (int i = 0; i < length; i++)
        {
            r = r + validateCode.Next(minValue, maxValue);
        }
        return r;
    }

②在用到验证码的地方加入如下代码,onclick="jaavscript:this.src='/ValidateCode.aspx?t=' + Math.random()"的作用:点击图片刷新。

<div style="float: left; margin-left:5px;" >
    <img src="/ValidateCode.aspx" onclick="jaavscript:this.src='/ValidateCode.aspx?t=' + Math.random()"/>
</div>

③判断验证码是否输入正确

 if (!TxtVCode.Text.Equals( Session["ValidateCode"]))
        {
            Response.Write("<script>alert('验证码输入错误!');</script>");
        }
        else 
        。。。。//其他代码
        }

 

posted @ 2015-06-15 21:05  lhd0525  阅读(1729)  评论(0编辑  收藏  举报