国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 後端開發(fā) C#.Net教程 asp.net驗證碼的簡單製作

asp.net驗證碼的簡單製作

Jan 13, 2017 pm 03:30 PM

其實關(guān)於asp.net驗證碼製作的文章已經(jīng)很多很多了,但是今天還是要跟大家繼續(xù)分享,親,可以綜合幾篇實例,編寫出適用於自己網(wǎng)站的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;//繪制起始坐標(biāo)X 
private int posY = 0;//繪制坐標(biāo)Y 
private string CreateValidateCode() //生成驗證碼 
{
  string validateCode = "";
  Random random = new Random();// 隨機(jī)數(shù)對象 
  for (int i = 0; i < codeLen; i++)//循環(huán)生成每位數(shù)值 
  {
    int n = random.Next(10);//數(shù)字 
    validateCode += n.ToString();
  }
  Session["vcode"] = validateCode;//保存驗證碼 這Session是在前臺調(diào)用的。
  return validateCode;// 返回驗證碼 
}
 
private void DisturbBitmap(Bitmap bitmap)//圖像背景 
{
  Random random = new Random();//通過隨機(jī)數(shù)生成 
  for (int i = 0; i < bitmap.Width; i++)//通過循環(huán)嵌套,逐個像素點生成 
  {
    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);//設(shè)置繪制字體 
  g.DrawString(validateCode, font, Brushes.Black, posX, posY);//繪制驗證碼圖像 
}

Login.aspx窗體前臺:

//這個函數(shù)是在點擊驗證碼圖片就會更換驗證碼
//可以使用微軟自帶的jqury.js 下面jquery-1.4.1.min.js版本之上的?;蛘咴趈query官網(wǎng)上下載就可以。
 <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"/>//調(diào)用函數(shù),實現(xiàn)更換驗證碼

後臺程式碼:點擊登入驗證使用者是否輸入正確。?

string usercode = txtcode.Text.Trim();
    if (usercode == Session["vcode"].ToString())//Session["vcode"]
    {
}

其他程式碼就是跟其他一樣。

以上就是跟大家分享的關(guān)於產(chǎn)生ASP.NET驗證碼的過程,希望大家可以學(xué)以致用。

更多asp.net驗證碼的簡單製作相關(guān)文章請關(guān)注PHP中文網(wǎng)!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

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

C#中產(chǎn)量關(guān)鍵字對創(chuàng)建迭代器的意義是什麼? C#中產(chǎn)量關(guān)鍵字對創(chuàng)建迭代器的意義是什麼? Jun 19, 2025 am 12:17 AM

healieldKeyWordinc#簡化了creationeratoratorabyautomationalingaseratingastatemachinethatemachinathablesLazyEvaluation.1.ItallowSreturningReturningInturningItemSoneatAtiMeTimeYielderturn,pausingexecutionBeteachieneachIneachIneachIneachIneachIneachIneachIneachItem,whoisidealforlargeordeNemicSequences.2.yieldBreakcanbeus.2.yieldBreakcanbeus

什麼是依賴性注入(DI),如何在C#中實現(xiàn)(例如,在ASP.NET Core中使用內(nèi)置DI)? 什麼是依賴性注入(DI),如何在C#中實現(xiàn)(例如,在ASP.NET Core中使用內(nèi)置DI)? Jun 30, 2025 am 02:06 AM

DependencyInjection(DI)inC#isadesignpatternthatenhancesmodularity,testability,andmaintainabilitybyallowingclassestoreceivedependenciesexternally.1.DIpromotesloosecouplingbydecouplingobjectcreationfromusage.2.Itsimplifiestestingthroughmockobjectinject

IDisposable接口和C#中的使用語句的目的是什麼? IDisposable接口和C#中的使用語句的目的是什麼? Jun 27, 2025 am 02:18 AM

IDisposable和using在C#中的作用是高效且確定性地管理非託管資源。 1.IDisposable提供Dispose()方法,使類能明確定義如何釋放非託管資源;2.using語句確保對象超出範(fàn)圍時自動調(diào)用Dispose(),簡化資源管理並避免洩漏;3.使用時需注意對象必須實現(xiàn)IDisposable,可聲明多個對象,並應(yīng)始終對如StreamReader等類型使用using;4.常見最佳實踐包括不要依賴析構(gòu)函數(shù)清理、正確處理嵌套對象及實現(xiàn)Dispose(bool)模式。

Lambda表達(dá)式和LINQ(語言集成查詢)如何增強(qiáng)C#中的數(shù)據(jù)操作? Lambda表達(dá)式和LINQ(語言集成查詢)如何增強(qiáng)C#中的數(shù)據(jù)操作? Jun 20, 2025 am 12:16 AM

LambdaexpressionsandLINQsimplifydatamanipulationinC#byenablingconcise,readable,andefficientcode.1.Lambdaexpressionsallowinlinefunctiondefinitions,makingiteasiertopasslogicasargumentsforfiltering,transforming,sorting,andaggregatingdatadirectlywithinme

C#8中的可無效參考類型(NRT)是什麼,它們?nèi)绾螏椭乐筃ullReferenceException? C#8中的可無效參考類型(NRT)是什麼,它們?nèi)绾螏椭乐筃ullReferenceException? Jun 21, 2025 am 12:36 AM

Nullablereferencetypes(NRTs)inC#8 helpcatchNullReferenceExceptionerrorsatcompiletimebymakingreferencetypesnon-nullablebydefault,requiringexplicitdeclarationfornullability.NRTsmustbeenabledeitherinthe.csprojfilewithenableoratthetopofa.csfileusing#null

使用C#開發(fā)時,有哪些常見的陷阱或反圖案可以避免? 使用C#開發(fā)時,有哪些常見的陷阱或反圖案可以避免? Jun 23, 2025 am 12:05 AM

C#開發(fā)中常見四大“反模式”問題需避免。一是不合理使用async/await導(dǎo)致死鎖或性能下降,應(yīng)堅持全異步原則、配置ConfigureAwait(false)并規(guī)范命名;二是過度依賴var影響可讀性,應(yīng)在類型不明確時顯式聲明并統(tǒng)一團(tuán)隊規(guī)范;三是錯誤使用Dispose和資源管理引發(fā)泄漏,應(yīng)正確使用using語句及實現(xiàn)IDisposable標(biāo)準(zhǔn)模式;四是濫用靜態(tài)類或單例造成測試?yán)щy,應(yīng)優(yōu)先依賴注入、保持無狀態(tài)或由容器管理生命周期。避開這些誤區(qū)可顯著提升代碼質(zhì)量與維護(hù)性。

如何在C#中使用跨度和內(nèi)存來優(yōu)化內(nèi)存使用情況並減少分配? 如何在C#中使用跨度和內(nèi)存來優(yōu)化內(nèi)存使用情況並減少分配? Jun 18, 2025 am 12:11 AM

Span和Memory通過減少內(nèi)存分配提升C#性能。 1.Span避免數(shù)組複製,提供對現(xiàn)有內(nèi)存的輕量引用,適用於解析二進(jìn)制協(xié)議、字符串操作及高性能緩衝區(qū)管理;2.Memory支持跨異步方法傳遞內(nèi)存切片,適用於需要更靈活生命週期的場景;3.二者降低GC壓力,通過重用緩衝區(qū)、避免臨時拷貝優(yōu)化性能;4.Span受限於棧上使用,不可存儲於類或用於異步方法,需注意避免調(diào)用.ToArray()等導(dǎo)致重新分配的操作。

您能在面向?qū)ο蟮脑O(shè)計中解釋可靠的原理及其應(yīng)用嗎? 您能在面向?qū)ο蟮脑O(shè)計中解釋可靠的原理及其應(yīng)用嗎? Jun 25, 2025 am 12:47 AM

SOLID原則是面向?qū)ο缶幊讨刑嵘a可維護(hù)性和擴(kuò)展性的五項設(shè)計原則,它們分別是:1.單一職責(zé)原則(SRP)要求類只承擔(dān)一個職責(zé),如將報告生成與郵件發(fā)送分離;2.開閉原則(OCP)強(qiáng)調(diào)通過接口或抽像類支持?jǐn)U展而不修改原有代碼,如使用IShape接口實現(xiàn)不同圖形的面積計算;3.里氏替換原則(LSP)要求子類能替換父類而不破壞邏輯,如Square不應(yīng)錯誤繼承Rectangle導(dǎo)致行為異常;4.接口隔離原則(ISP)主張定義細(xì)粒度接口,如拆分打印與掃描功能避免冗餘依賴;5.依賴倒置原則(DIP)提倡依

See all articles