日期:2014-05-16 浏览次数:20550 次
前提:要引用AjaxPro.2.dll(右键--添加引用---选AjaxPro.2.dll文件即可)
备注:程序中的红色部分是经常会搞错的地方,请大家重点关注下。
1、首先制作ashx文件,功能(产生验证码图片,并把验证码保存在Session中,便于以后比对。
[ VDC.ashx ]文件
using System;
using System.Web;
using System.Drawing;
namespace TestExtjsJson.ashx
{
/// <summary>
/// VDC 的摘要说明
/// </summary>
public class VDC : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
//产生验证码的字符集(去除I 1 l L,O 0等易混字符)
public string charSet = "2,3,4,5,6,8,9,A,B,C,D,E,F,G,H,J,K,M,N,P,R,S,U,W,X,Y";
public void ProcessRequest(HttpContext context)
{
string validateCode = CreateRandomCode(4);
//context.Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));//保存到Cookies 里,但前提对方浏览器允许Cookies操作!
context.Session["CheckCode"] = validateCode; //保存到Session中
CreateImage(validateCode, context);
}
public bool IsReusable
{
get
{
return false;
}
}
/// <summary>
/// 生成验证码
/// </summary>
/// <param name="n">位数</param>
/// <returns>验证码字符串</returns>
private string CreateRandomCode(int n)
{
string[] CharArray = charSet.Split(',');
string randomCode = "";
int temp = -1;
Random rand = new Random();
for (int i = 0; i < n; i++)
{
if (temp != -1)
{
&nbs