asp.net簡單產生驗證碼的方法

來源:互聯網
上載者:User
本文執行個體講述了asp.net簡單產生驗證碼的方法。分享給大家供大家參考,具體如下:

1.建立一個一般處理常式

namespace WebApplication1{ /// <summary> /// $codebehindclassname$ 的摘要說明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class Handler1 : IHttpHandler, IRequiresSessionState {  public void ProcessRequest(HttpContext context)  {   context.Response.ContentType = "image/gif";   //建立Bitmap對象,繪圖   Bitmap basemap = new Bitmap(100, 30);   Graphics graph = Graphics.FromImage(basemap);   graph.FillRectangle(new SolidBrush(Color.White), 0, 0, 100, 30);   Font font = new Font(FontFamily.GenericSerif, 24, FontStyle.Bold, GraphicsUnit.Pixel);   Random r = new Random();   string letters = "ABCDEFGHIJKLMNPQRSTUVWXYZ";   string letter;   StringBuilder s = new StringBuilder();   //添加隨機的五個字母   for (int x = 0; x < 5; x++)   {    letter = letters.Substring(r.Next(0, letters.Length - 1), 1);    s.Append(letter);    graph.DrawString(letter, font, new SolidBrush(Color.Black), x * 19, r.Next(0, 8));   }   //混淆背景   Pen linePen = new Pen(new SolidBrush(Color.Black), 2);   for (int x = 0; x < 6; x++)    graph.DrawLine(linePen, new Point(r.Next(0, 99), r.Next(0, 29)), new Point(r.Next(0, 99), r.Next(0, 29)));   //將圖片儲存到輸出資料流中     basemap.Save(context.Response.OutputStream, ImageFormat.Gif);   context.Session["CheckCode"] = s.ToString(); //如果沒有實現IRequiresSessionState,則這裡會出錯,也無法產生圖片   context.Response.End();  }  public bool IsReusable  {   get   {    return false;   }  } }}

2.前台代碼

<html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div>  <asp:TextBox ID="txtCode" runat="server"></asp:TextBox>  <img id="imgCode" alt="看不清?點擊換一張" src="Handler1.ashx" style="cursor:pointer" onclick="this.src=this.src+'?'" /><br />  <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> </div> </form></body></html>

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.