1. 新建一个类: Code.cs , 封装验证码的生成.
C#代码
using System.Text; using System; using System.Web; using System.IO; using System.Drawing; using System.Drawing.Imaging; /// <summary> ///Code 的摘要说明 /// </summary> public class Code { /// <summary> /// 该方法用于生成指定位数的随机数 /// </summary> /// <param name="VcodeNum">参数是随机数的位数</param> /// <returns>返回一个随机数字符串</returns> private string RndNum(int VcodeNum) { //验证码可以显示的字符集合 string Vchar = "1,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,p,p" + ",q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,P,P,Q" + ",R,S,T,U,V,W,X,Y,Z"; string[] VcArray = Vchar.Split(new Char[] { ',' });//拆分成数组 string VNum = "";//产生的随机数 int temp = -1;//记录上次随机数值,尽量避避免生产几个一样的随机数 Random rand = new Random(); //定义图像的大小,生成图像的实例 } |
2. 新建一个一般处理程序: gif.ashx, 用来显示图片
} |
.net页面代码
3. 新过一个 Web窗体: CodeTest.aspx, 在<body></body>中插入 <img src="gif.ashx" /> 先试试看能否成功!! |
3. 新过一个 Web窗体: CodeTest.aspx, 在<body></body>中插入 <img src="gif.ashx" /> 先试试看能否成功!!
4. 成功了就来试验一下,在CodeTest.aspx 中添加 一个Label 控件,一个TextBox控件,一个Button控件
.net页面代码
5. 双击Button ,键入以下代码: Code protected void Button1_Click(object sender, EventArgs e) { if (TextBox1.Text == "") { Label1.Text = "请输入验证码!!"; } else if (String.Compare(Session["gif"].ToString(), TextBox1.Text, true) !=0) { Label1.Text = "验证码有误,请重新输入正确的验证码"; } else { Label1.Text = "你输入验证码正确!!"; } } |
6. 可以试试效果啦!!!
以上转载于http://fenglin07.blog.163.com/blog/static/31517026201041475232140/
另外关于点击图片就刷新验证码的实现:
<img border="0" id="codeIMg" src="gif.ashx" alt="看不清,单击换一张" onclick="this.src='gif.ashx?abc='+Math.random()"/><br />