asp.net簡(jiǎn)單生成驗(yàn)證碼的方法
本文實(shí)例講述了asp.net簡(jiǎn)單生成驗(yàn)證碼的方法。分享給大家供大家參考,具體如下:
1.新建一個(gè)一般處理程序
namespace WebApplication1
{
/// <summary>
/// $codebehindclassname$ 的摘要說(shuō)明
/// </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對(duì)象,繪圖
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();
//添加隨機(jī)的五個(gè)字母
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(); //如果沒(méi)有實(shí)現(xiàn)IRequiresSessionState,則這里會(huì)出錯(cuò),也無(wú)法生成圖片
context.Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
2.前臺(tái)代碼
<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="看不清?點(diǎn)擊換一張" 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>
希望本文所述對(duì)大家asp.net程序設(shè)計(jì)有所幫助。
相關(guān)文章
asp.net 數(shù)據(jù)類型轉(zhuǎn)換類代碼
asp.net 數(shù)據(jù)類型轉(zhuǎn)換類代碼,需要的朋友可以參考下2012-06-06
asp.net實(shí)現(xiàn)上傳文件顯示本地絕對(duì)路徑的實(shí)例代碼
asp.net實(shí)現(xiàn)上傳圖片顯示本地絕對(duì)路徑圖片,其實(shí)這個(gè)還是得用<DIV></DIV>去顯示圖片會(huì)更好一點(diǎn)!用js實(shí)現(xiàn)圖片的比例壓縮讓圖片一樣能夠很清楚!下面把代碼貼出來(lái)2013-07-07
asp.net 從POST的數(shù)據(jù)流中提取參數(shù)和文件
按理,F(xiàn)orm提交的數(shù)據(jù),無(wú)論是application/x-www-form-urlencoded還是multipart/form-data(有附件時(shí)),都可在服務(wù)端通過(guò)Request.Form["name"]和Request.Files["name"]獲取到參數(shù)和上傳的文件。2010-02-02
asp.net 通過(guò)UserAgent判斷智能設(shè)備(Android,IOS)
搜集了比較全的 智能設(shè)備 的 Agent,然后又寫了程序,需要的朋友可以參考下2011-10-10
使用ASP.NET一般處理程序或WebService返回JSON的實(shí)現(xiàn)代碼
今天, 將為大家說(shuō)明如何在 ASP.NET 中使用一般處理程序或者 WebService 向 javascript 返回 JSON2011-10-10
ASP.NET?MVC5網(wǎng)站開(kāi)發(fā)之網(wǎng)站設(shè)置(九)
這篇文章主要為大家詳細(xì)介紹了ASP.NET?MVC5網(wǎng)站開(kāi)發(fā)之網(wǎng)站設(shè)置,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
獲取ashx得到的內(nèi)容(已處理好的數(shù)據(jù))
獲取ashx得到的內(nèi)容,一般用于ajax的情況比較多一點(diǎn);重點(diǎn):ashx頁(yè)面?zhèn)鬟^(guò)來(lái)的就是已經(jīng)處理好的數(shù)據(jù),感興趣的朋有可以參考下啊,希望本文對(duì)你學(xué)習(xí)ajax有所幫助2013-01-01
iis中為每個(gè)應(yīng)用程序池單獨(dú)設(shè)置aspnet.config配置文件
ASP.NET2.0之后的版本就在各Framework的根目錄下提供了一個(gè)aspnet.config文件,這個(gè)文件用來(lái)配置全局的一些信息,但是一直以來(lái)我們都沒(méi)有怎么用過(guò)2011-12-12

