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

时间:2023-03-09 02:16:27
.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
。。。。//其他代码
}