日期:2014-05-18  浏览次数:20479 次

验证码的判断问题··
我现在 做了一个验证码·· 我现在 想做个button 来 验证  


  <img src="Defimage.aspx" id="yzm" onclick="this.src='Defimage.aspx?abc='+Math.random()" alt="图片看不清?点击重新得到验证码" style="cursor:hand; " /> 里面随即显示的字母和数字
  <input id="Text1" type="text" runat="server" />

文本框里面输入的字母等于 <img src="Defimage.aspx" id="yzm" onclick="this.src='Defimage.aspx?abc='+Math.random()" alt="图片看不清?点击重新得到验证码" style="cursor:hand; " /> 的话··就可以label 会显示成功·· 如果不相等的话 label 就显示不成功 



------解决方案--------------------
好像是把字母和数字写到图片上的!!
------解决方案--------------------
用点击Button后调用Ajax
------解决方案--------------------

验证码 产生一个session[""];;

可以通过session[""]==用户输入的值..就通过验证??
------解决方案--------------------
UP,不清楚你要问什么,
------解决方案--------------------
 
Random rd = new Random(); //创建随机数对象

//以下4行,产生由6个字母和数字组成的一个字符串 
string str = "ABCDEFGHIJKLMNOPQRSTURWXYZ0123456789"; 
string my51aspx = ""; 
for (int i = 0; i < 4; i++) 

my51aspx = my51aspx + str.Substring(rd.Next(35), 1); 

//验证码值存放到Session中用来比较 
Session["ValidateReg"] = my51aspx; 

//以下三句,通过随机找一个现有图象产生一个画布Bitmap 
string bgFilePath = Server.MapPath("images/0" + new Random().Next(5) + ".jpg");//随机找个图象 
System.Drawing.Image imgObj = System.Drawing.Image.FromFile(bgFilePath); 
Bitmap newBitmap = new Bitmap(imgObj, 80, 18);//建立位图对象 

Graphics g = Graphics.FromImage(newBitmap);//根据上面创建的位图对象创建绘图面 
SolidBrush brush = new SolidBrush(Color.Black);//设置画笔颜色 

//定义一个含10种字体的数组 
String[] fontFamily ={ "Arial", "Verdana", "Comic Sans MS", "Impact", "Haettenschweiler", "Lucida Sans Unicode", "Garamond", "Courier New", "Book Antiqua", "Arial Narrow" }; 

//通过循环,绘制每个字符, 
for (int a = 0; a < my51aspx.Length; a++) 

Font textFont = new Font(fontFamily[rd.Next(9)], 10, FontStyle.Bold);//字体随机,字号大小30,加粗 
//每次循环绘制一个字符,设置字体格式,画笔颜色,字符相对画布的X坐标,字符相对画布的Y坐标 
g.DrawString(my51aspx.Substring(a, 1), textFont, brush, a * 19, 0); 


//保存画的图片到输出流中 
newBitmap.Save(Response.OutputStream, ImageFormat.Gif);
------解决方案--------------------
 
Random rd = new Random(); //创建随机数对象

//以下4行,产生由6个字母和数字组成的一个字符串 
string str = "ABCDEFGHIJKLMNOPQRSTURWXYZ0123456789"; 
string my51aspx = ""; 
for (int i = 0; i < 4; i++) 

my51aspx = my51aspx + str.Substring(rd.Next(35), 1); 

//验证码值存放到Session中用来比较 
Session["ValidateReg"] = my51aspx; 

//以下三句,通过随机找一个现有图象产生一个画布Bitmap 
string bgFilePath = Server.MapPath("images/0" + new Random().Next(5) + ".jpg");//随机找个图象 
System.Drawing.Image imgObj = System.Drawing.Image.FromFile(bgFilePath);