asp.net驗證碼的簡單製作
其實關於asp.net驗證碼製作的文章已經很多很多了,但是今天還是要跟大家繼續分享,親,可以綜合幾篇實例,編寫出適用於自己網站的ASP.NET驗證碼,大概也就兩大部分:
先建立一個asp.net窗體ValidateCode.aspx;不寫任何東西。直接在後台ValidateCode.aspx.cs中寫如下程式碼:
protected void Page_Load(object sender, EventArgs e) { string validateCode = CreateValidateCode();//生成验证码 Bitmap bitmap = new Bitmap(imgWidth,imgHeight);//生成Bitmap图像 DisturbBitmap(bitmap); //图像背景 DrewValidateCode(bitmap,validateCode);//绘制验证码图像 bitmap.Save(Response.OutputStream,ImageFormat.Gif);//保存图像,等待输出 } private int codeLen = 4;//验证码长度 private int fineness = 85;//图片清晰度 private int imgWidth = 48;//图片宽度 private int imgHeight = 24;//图片高度 private string fontFamily = "Times New Roman";//字体名称 private int fontSize = 14;//字体大小 //private int fontStyle = 0;//字体样式 private int posX = 0;//绘制起始坐标X private int posY = 0;//绘制坐标Y private string CreateValidateCode() //生成验证码 { string validateCode = ""; Random random = new Random();// 随机数对象 for (int i = 0; i < codeLen; i++)//循环生成每位数值 { int n = random.Next(10);//数字 validateCode += n.ToString(); } Session["vcode"] = validateCode;//保存验证码 这Session是在前台调用的。 return validateCode;// 返回验证码 } private void DisturbBitmap(Bitmap bitmap)//图像背景 { Random random = new Random();//通过随机数生成 for (int i = 0; i < bitmap.Width; i++)//通过循环嵌套,逐个像素点生成 { for (int j = 0; j < bitmap.Height; j++) { if (random.Next(90) <= this.fineness) bitmap.SetPixel(i, j, Color.LightGray); } } } private void DrewValidateCode(Bitmap bitmap, string validateCode)//绘制验证码图像 { Graphics g = Graphics.FromImage(bitmap);//获取绘制器对象 Font font = new Font(fontFamily, fontSize, FontStyle.Bold);//设置绘制字体 g.DrawString(validateCode, font, Brushes.Black, posX, posY);//绘制验证码图像 }
Login.aspx窗體前台:
//这个函数是在点击验证码图片就会更换验证码 //可以使用微软自带的jqury.js 下面jquery-1.4.1.min.js版本之上的。或者在jquery官网上下载就可以。 <script src="styles/jquery-1.4.1.min.js" type="text/javascript"></script> function f_refreshtype() { var Image1 = document.getElementByIdx_x_x_x("img"); if (Image1 != null) { Image1.src = Image1.src + "?"; } } ---<img src="ValidateCode.aspx" id="img" onclick="f_refreshtype()" width="50px"/>//调用函数,实现更换验证码
後台程式碼:點擊登入驗證使用者是否輸入正確。
string usercode = txtcode.Text.Trim(); if (usercode == Session["vcode"].ToString())//Session["vcode"] { }
其他程式碼就是跟其他一樣。
以上就是跟大家分享的關於產生ASP.NET驗證碼的過程,希望大家可以學以致用。
更多asp.net驗證碼的簡單製作相關文章請關注PHP中文網!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

C 語言中符號的使用方法涵蓋算術、賦值、條件、邏輯、位運算符等。算術運算符用於基本數學運算,賦值運算符用於賦值和加減乘除賦值,條件運算符用於根據條件執行不同操作,邏輯運算符用於邏輯操作,位運算符用於位級操作,特殊常量用於表示空指針、文件結束標記和非數字值。

在 C 語言中,char 類型在字符串中用於:1. 存儲單個字符;2. 使用數組表示字符串並以 null 終止符結束;3. 通過字符串操作函數進行操作;4. 從鍵盤讀取或輸出字符串。

C語言中通過轉義序列處理特殊字符,如:\n表示換行符。 \t表示製表符。使用轉義序列或字符常量表示特殊字符,如char c = '\n'。注意,反斜杠需要轉義兩次。不同平台和編譯器可能有不同的轉義序列,請查閱文檔。

在 C 語言中,char 和 wchar_t 的主要區別在於字符編碼:char 使用 ASCII 或擴展 ASCII,wchar_t 使用 Unicode;char 佔用 1-2 個字節,wchar_t 佔用 2-4 個字節;char 適用於英語文本,wchar_t 適用於多語言文本;char 廣泛支持,wchar_t 依賴於編譯器和操作系統是否支持 Unicode;char 的字符範圍受限,wchar_t 的字符範圍更大,並使用專門的函數進行算術運算。

在 C 語言中,char 類型轉換可以通過:強制類型轉換:使用強制類型轉換符將一種類型的數據直接轉換為另一種類型。自動類型轉換:當一種類型的數據可以容納另一種類型的值時,編譯器自動進行轉換。

多線程和異步的區別在於,多線程同時執行多個線程,而異步在不阻塞當前線程的情況下執行操作。多線程用於計算密集型任務,而異步用於用戶交互操作。多線程的優勢是提高計算性能,異步的優勢是不阻塞 UI 線程。選擇多線程還是異步取決於任務性質:計算密集型任務使用多線程,與外部資源交互且需要保持 UI 響應的任務使用異步。

char 和 unsigned char 是存儲字符數據的兩種數據類型,主要區別在於處理負數和正數的方式:值範圍:char 有符號 (-128 到 127),unsigned char 無符號 (0 到 255)。負數處理:char 可以存儲負數,unsigned char 不能。位模式:char 最高位表示符號,unsigned char 無符號位。算術運算:char 和 unsigned char 作為有符號和無符號類型,其算術運算方式不同。兼容性:char 和 unsigned char

C語言中char的使用錯誤和避免方法:未初始化char變量:使用常量或字符串文字初始化。超出字符範圍:比較變量值是否在有效範圍內(-128 到 127)。字符比較不區分大小寫:使用toupper()或tolower()轉換字符大小寫。使用char*引用字符數組時未加'\0':使用strlen()或手動添加'\0'標記數組結尾。使用char數組時忽略數組大小:明確指定數組大小或使用sizeof()確定長度。使用char指針時未檢查空指針:使用前檢查指針是否為NULL。使用char指針指向非字符數據
