當前位置:名人名言大全網 - 短信平臺 - 在Asp.net(C#)中添加程序實現驗證碼功能

在Asp.net(C#)中添加程序實現驗證碼功能

添加壹個web窗體 然後將下面的代碼添加進去 並重命名該窗體為checkCode aspx; public class ValidateCode : System Web UI Page { private void Page_Load(object sender System EventArgs e) { this CreateCheckCodeImage(GenerateCheckCode()) } #region Web 窗體設計器生成的代碼 override protected void OnInit(EventArgs e) { // // CODEGEN: 該調用是 ASP NET Web 窗體設計器所必需的 // InitializeComponent() base OnInit(e) } /// <summary> /// 設計器支持所需的方法 不要使用代碼編輯器修改 /// 此方法的內容 /// </summary> private void InitializeComponent() { this Load += new System EventHandler(this Page_Load) } #endregion private string GenerateCheckCode() { int number; char code; string checkCode = String Empty; System Random random = new Random() for(int i= ; i< ; i++) { number = random Next() if(number % == ) code = (char)( + (char)(number % )) else code = (char)( A + (char)(number % )) checkCode += code ToString() } Response Cookies Add(new HttpCookie( CheckCode checkCode)) return checkCode; } private void CreateCheckCodeImage(string checkCode) { if(checkCode == null || checkCode Trim() == String Empty) return; System Drawing Bitmap image = new System Drawing Bitmap((int)Math Ceiling((checkCode Length * )) ) Graphics g = Graphics FromImage(image) try { //生成隨機生成器 Random random = new Random() //清空圖片背景色 g Clear(Color White) //畫圖片的背景噪音線 for(int i= ; i< ; i++) { int x = random Next(image Width) int x = random Next(image Width) int y = random Next(image Height) int y = random Next(image Height) g DrawLine(new Pen(Color Silver) x y x y ) } Font font = new System Drawing Font( Arial (System Drawing FontStyle Bold | System Drawing FontStyle Italic)) System Drawing Drawing D LinearGradientBrush brush = new System Drawing Drawing D LinearGradientBrush(new Rectangle( image Width image Height) Color Blue Color DarkRed f true) g DrawString(checkCode font brush ) //畫圖片的前景噪音點 for(int i= ; i< ; i++) { int x = random Next(image Width) int y = random Next(image Height) image SetPixel(x y Color FromArgb(random Next())) } //畫圖片的邊框線 g DrawRectangle(new Pen(Color Silver) image Width image Height ) System IO MemoryStream ms = new System IO MemoryStream() image Save(ms System Drawing Imaging ImageFormat Gif) Response ClearContent() Response ContentType = image/Gif ; Response BinaryWrite(ms ToArray()) } finally { g Dispose() image Dispose() } } } 在妳要顯示驗證碼的窗體中添加壹個image控件 並命名為imgCheckCode 用於顯示驗證碼 再添加壹個lable 並命名為lblMessage 用於顯示錯誤信息 然後在該窗體的Page_Load中添加 this imgCheckCode ImageUrl = checkCode aspx ; 在登錄頁面的登錄按鈕的處理事件中使用以下代碼判斷驗證碼 private void btnLogin_Click(object sender System Web UI ImageClickEventArgs e) { if(Request Cookies[ checkCode ] == null) { lblMessage Text = 您的瀏覽器設置已被禁用 Cookies 您必須設置瀏覽器允許使用 Cookies 選項後才能使用本系統 ; lblMessage Visible = true; return; } if(String Compare(Request Cookies[ checkCode ] Value txtCheckCode Text true) != ) { lblMessage Text = 驗證碼錯誤 請輸入正確的驗證碼 ; lblMessage Visible = true; return; } } 這樣就能實現妳所要的驗證碼驗證了 lishixinzhi/Article/program/net/201311/13119