C#生成验证码及在页面上无刷新更换的代码

C#生成验证码及在页面上无刷新更换的代码,第1张

概述C#生成验证码及在页面上无刷新更换的代码

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

放验证码的页面内添加如下Js脚本,这个是刷新验证码的方法:
<script language="JavaScript" type="text/JavaScript">  function fresh()  {  var randomnum=Math.random();  var getimagecode=document.getElementByID( "codeimage");  getimagecode.src= "ValIDateImage.aspx? "+randomnum;  }  </script>  //该代码片段来自于: http://www.shareJs.com/codes/csharp/7816
页面内要放验证码的地方(层内,单元格内等)放置如下代码,这个是验证码的图图,输入验证码的文本框和调刷新方法的链接。
<div><img ID="codeimage" src="ValIDateImage.aspx?,Math.random()" />  <asp:TextBox ID="txtValIDateCode" runat="server" WIDth="55px" MaxLength="4"></asp:TextBox>  <a href="JavaScript:fresh()" >看不清</a></div>  //该代码片段来自于: http://www.shareJs.com/codes/csharp/7816
ValIDateimage.aspx页面是生成图片
private voID Page_Load(object sender,System.EventArgs e)     {         this.CreateCheckCodeImage(RndNum());     }     private string RndNum()     {         int number;         char code;         string checkCode = String.Empty;           System.Random random = new Random();           for (int i = 0; i < 4; i++)         {             number = random.Next();             if (number % 2 == 0)                 code = (char)('0' + (char)(number % 10));             else                 code = (char)('A' + (char)(number % 26));             checkCode += code.ToString();         }         Response.cookies.Add(new httpcookie("yzmcode",checkCode));         return checkCode;     }     private voID CreateCheckCodeImage(string checkCode)     {         if (checkCode == null || checkCode.Trim() == String.Empty)             return;         System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)),22);         Graphics g = Graphics.FromImage(image);         try         {             //生成随机生成器              Random random = new Random();             //清空图片背景色              g.Clear(color.White);             //画图片的背景噪音线              for (int i = 0; i < 20; i++)             {                 int x1 = random.Next(image.WIDth);                 int x2 = random.Next(image.WIDth);                 int y1 = random.Next(image.Height);                 int y2 = random.Next(image.Height);                 g.Drawline(new Pen(color.Aqua),x1,y1,x2,y2);             }               Font Font = new System.Drawing.Font("Arial",12,(System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));             System.Drawing.drawing2d.linearGradIEntBrush brush = new System.Drawing.drawing2d.linearGradIEntBrush(new Rectangle(0,image.WIDth,image.Height),color.BlueViolet,1.2f,true);             g.DrawString(checkCode,Font,brush,2,2);             //画图片的前景噪音点              for (int i = 0; i < 50; i++)             {                 int x = random.Next(image.WIDth);                 int y = random.Next(image.Height);                 image.SetPixel(x,y,color.FromArgb(random.Next()));             }             //画图片的边框线              g.DrawRectangle(new Pen(color.Silver),image.WIDth - 1,image.Height - 1);             System.IO.MemoryStream ms = new System.IO.MemoryStream();             image.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);             Response.ClearContent();             Response.ContentType = "image/Gif";             Response.BinaryWrite(ms.ToArray());         }         finally         {             g.dispose();             image.dispose();         }     }    

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的C#生成验证码及在页面上无刷新更换的代码全部内容,希望文章能够帮你解决C#生成验证码及在页面上无刷新更换的代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1238249.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存