緒論:本文是.net實作動態驗證碼的顯示,需使用到一般處理程式(ashx)
來看看實作的效果圖
1.登錄成功

2.驗證碼錯誤登錄失敗

看過了上面的開始實作吧
- 先把驗證碼搞出來
首先要創建一個ashx的檔案(一般處理檔案)

創建好了就是這樣的,如果沒有一般處理請看下面:右擊添加新項,然后找到一般處理程式


然后把下面的代碼放進去
//定義輸出型別 圖片型別 jpeg
context. Response.ContentType = "image/jpeg";
//定義畫布尺寸
Bitmap bm = new Bitmap(100,30);
//定義畫布
Graphics gh = Graphics.FromImage(bm);
//定義內容
//Random rd = new Random();
//int i = rd.Next(100000, 999999);
//將內容(亂數)嵌入到畫布 引數(文本,字體,距離圖畫左邊的距離,距離圖畫上邊的距離)
gh.DrawString(context.Request["sjs"].ToString(), new Font("宋體",20), Brushes.White, 0,0);
//保存圖片 將圖片以二進制形式保存輸出
bm.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

記得引入頭檔案,上面代碼都有注釋可以自己看看,需要注意的是,我們這里的亂數是aspx后臺傳過來的,使用Response.request
來看一下后臺代碼aspx

上面這個是自己寫了個函式然后呼叫
Image1.ImageUrl = "~/hander/randomnum.ashx?sjs=" + i;
這個代碼是前臺放了個image控制元件,aspx傳值, sjs 是要傳到一般處理程式那邊去的
來看一下怎么實作代碼

這里定義的static i=0,是為了不讓他每次都會變另外一個亂數

在登錄按鈕這里,使用那個i判斷驗證碼框是否相等,不然會出現一點點小bug
以上就是所有的動態驗證碼的實作了,主要還是一般處理檔案設定好,然后傳過去就可以了,
如果你感覺這篇對你有幫助的話請點個贊,支持一下
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/279828.html
標籤:其他
