亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

asp.net使用ashx生成圖形驗證碼的方法示例

2024-07-10 13:32:35
字體:
來源:轉載
供稿:網友

本文實例講述了asp.net使用ashx生成圖形驗證碼的方法。分享給大家供大家參考,具體如下:

驗證碼的好處不用我多說,你們都懂的。我在網上看到有人把驗證碼直接寫在aspx頁面里,也就是說這種方式請求驗證碼等于請求一個頁面,這樣做很不科學。如下所示

<form id="form1" runat="server">  <div>    <asp:Image ID="Image1" runat="server" ImageUrl="Default.aspx" />    <br />    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />  </div></form>

這個代碼看著就覺得寫代碼的人比較欠揍,代碼寫成這樣子著實郁悶。驗證嗎也不寫點script做下切換。

下面我介紹一種方式來實現這樣的功能

1. 寫個ashx生成圖形驗證碼

using System;using System.Collections;using System.Data;using System.Linq;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;using System.Xml.Linq;using System.Web.SessionState;using System.Drawing;namespace usechecknum.ashx{  /// <summary>  /// $codebehindclassname$ 的摘要說明  /// </summary>  [WebService(Namespace = "http://tempuri.org/")]  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  public class doCreateNum : IHttpHandler,IRequiresSessionState  {    public void ProcessRequest(HttpContext context)    {      context.Response.ContentType = "text/html";      string checkCode = GetValidation(5); // 產生5位隨機驗證碼字符      context.Session["Code"] = checkCode; //將字符串保存到Session中,以便需要時進行驗證      System.Drawing.Bitmap image = new System.Drawing.Bitmap(70, 22);      Graphics g = Graphics.FromImage(image);      try      {        //生成隨機生成器        Random random = new Random();        //清空圖片背景色        g.Clear(Color.White);        // 畫圖片的背景噪音線        int i;        for (i = 0; i < 25; 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.Silver), x1, y1, x2, y2);        }        Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold));        System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2F, true);        g.DrawString(checkCode, font, brush, 2, 2);        //畫圖片的前景噪音點        g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);        System.IO.MemoryStream ms = new System.IO.MemoryStream();        image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);        context.Response.ClearContent();        context.Response.ContentType = "image/Gif";        context.Response.BinaryWrite(ms.ToArray());      }      finally      {        g.Dispose();        image.Dispose();      }    }    public string GetValidation(int num)    {      string str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //"或者寫漢字也行"      string validatecode = "";      Random rd = new Random();      for (int i = 0; i < num; i++)      {        validatecode += str.Substring(rd.Next(0, str.Length), 1);      }      return validatecode;    }    public bool IsReusable    {      get      {        return false;      }    }  }}

2. 在頁面上顯示驗證碼,因為我們生成的是圖形,所以可以直接寫在<img/>標簽里,我們只要寫段簡單的腳本就可以點擊鼠標切換驗證碼了

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="usechecknum._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server">  <title>驗證碼的使用</title></head><script language="javascript" type="text/javascript">  function changeCode() {    var imgNode = document.getElementById("vimg");    imgNode.src = "ashx/doCreateNum.ashx?t=" + (new Date()).valueOf(); // 這里加個時間的參數是為了防止瀏覽器緩存的問題  }  </script><body>  <form id="form1" runat="server">   請輸入驗證碼:<input type="text" name="checknum"/><img src="ashx/doCreateNum.ashx" id="vimg" onclick="changeCode()" />  </form></body></html>

說了半天,該是時候看看生成的驗證碼長什么樣了

asp.net,ashx,生成,圖形,驗證碼

 

希望本文所述對大家asp.net程序設計有所幫助。


注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国自在线精品视频| 国内精品美女av在线播放| 久久99国产精品久久久久久久久| 欧美特级www| 欧美午夜视频在线观看| 国产99久久精品一区二区| 欧美精品videossex性护士| 亚洲精品一区在线观看香蕉| 亚洲天堂色网站| 91高清免费在线观看| 日本韩国欧美精品大片卡二| 精品日韩美女的视频高清| 久久琪琪电影院| 久久视频在线观看免费| 亚洲一区二区中文字幕| 国产丝袜一区二区三区| 欧美视频中文在线看| 欧美视频中文字幕在线| 5278欧美一区二区三区| 91av在线影院| 国产亚洲精品久久久久久| 亚洲国产成人精品久久| 91精品久久久久久久久久久久久久| 久久这里只有精品99| 日本老师69xxx| 亚洲最新中文字幕| 国产91成人video| 亚洲第一av在线| 国产精品99久久久久久久久| 欧美一区二区影院| 日韩精品在线观看一区二区| 欧美重口另类videos人妖| 国产精品中文字幕久久久| 国产精品户外野外| 亚洲最大中文字幕| 欧美性xxxx极品hd满灌| www.日韩系列| 国产精品久久久久久久久免费| 欧美色视频日本版| 国产日韩欧美在线视频观看| 日韩av片电影专区| 亚洲高清久久网| 欧美午夜激情小视频| 欧美极品美女电影一区| 国产视频精品va久久久久久| 欧美日在线观看| 日韩精品视频在线观看免费| 中文字幕亚洲欧美一区二区三区| 亚洲free性xxxx护士hd| 国产精品第二页| 91精品久久久久久久久久久久久久| 国产91|九色| 日韩免费观看网站| 日韩电影免费观看在线| 精品日本高清在线播放| 国产精品永久免费视频| 91亚洲永久免费精品| 91国内揄拍国内精品对白| 久久91亚洲精品中文字幕奶水| 国产99久久久欧美黑人| 中文字幕亚洲综合久久筱田步美| 亚洲在线观看视频网站| 超薄丝袜一区二区| 成人国产精品色哟哟| 国产精品久久久久999| 国内自拍欧美激情| 日本午夜精品理论片a级appf发布| 久久精品国产久精国产思思| 中文国产亚洲喷潮| 中日韩美女免费视频网站在线观看| 中文字幕日韩精品有码视频| 亚洲天堂男人的天堂| 日韩福利伦理影院免费| 欧美日韩激情网| 国产91九色视频| 国产xxx69麻豆国语对白| 亚洲精品av在线播放| 欧美精品久久久久| 亚洲xxxx在线| 国产成人极品视频| 中文字幕亚洲一区| 九九九久久国产免费| 国产精品久久久久免费a∨大胸| 亚洲人成在线观| 91在线|亚洲| 不卡在线观看电视剧完整版| 国模精品一区二区三区色天香| 欧美裸体xxxxx| 精品日韩中文字幕| 欧美国产亚洲视频| 日本精品视频在线| 欧美激情一二区| 深夜福利91大全| 色综合视频网站| 少妇久久久久久| 2018中文字幕一区二区三区| 国产一区二区日韩| 91精品综合久久久久久五月天| 中文字幕亚洲一区| 日韩av影视在线| 亚洲人a成www在线影院| 色七七影院综合| 最好看的2019的中文字幕视频| 日韩欧美在线视频免费观看| 欧美精品制服第一页| 国产精品免费视频久久久| 乱亲女秽乱长久久久| 久久艹在线视频| 精品福利在线视频| 欧美一区二区大胆人体摄影专业网站| 九九热精品视频国产| 日韩欧美视频一区二区三区| 国产精品入口日韩视频大尺度| 91精品国产777在线观看| 中文字幕在线成人| 欧美黄色三级网站| 欧美疯狂xxxx大交乱88av| 久久精品一本久久99精品| 97香蕉超级碰碰久久免费软件| 日韩电影中文字幕一区| 国产成人亚洲综合青青| 欧美一级成年大片在线观看| 欧美性猛交xxxx偷拍洗澡| 亚洲free性xxxx护士hd| 亚洲品质视频自拍网| 国产中文日韩欧美| 日韩免费观看在线观看| 亚洲国产精品电影在线观看| 日韩欧美国产高清91| 日韩在线视频国产| 欧美最顶级丰满的aⅴ艳星| 日韩精品高清视频| 亚洲人免费视频| 日韩精品欧美激情| 成人激情视频小说免费下载| 久久久久久久国产精品视频| 欧美激情久久久久| 国产一区二区av| 国产欧美日韩综合精品| 国产精品成人va在线观看| 黄色一区二区三区| 国产91在线高潮白浆在线观看| 日本免费久久高清视频| 欧美风情在线观看| 欧美日韩成人黄色| 日韩av手机在线看| 欧美精品video| 国产精品专区一| 国产日韩在线亚洲字幕中文| 欧美性猛交xxxx富婆| 久久久久久久久国产| 国产精品美女主播| 亚洲无限乱码一二三四麻| 久久在线观看视频| 夜夜嗨av一区二区三区免费区| 国内精品久久久久伊人av| 欧美一级片免费在线| 欧美xxxx做受欧美.88| 国语自产偷拍精品视频偷| 精品色蜜蜜精品视频在线观看| 国产97在线|亚洲| 久久香蕉国产线看观看av| 人人澡人人澡人人看欧美| 国产欧美一区二区白浆黑人|