Tats?chlich gibt es bereits viele Artikel über die Erstellung von asp.net-Best?tigungscodes, aber heute m?chte ich sie trotzdem mit Ihnen teilen. Sie k?nnen mehrere Beispiele kombinieren, um einen für Sie geeigneten ASP.NET-Best?tigungscode zu schreiben eigene Website. Es gibt nur zwei Teile:
Erstellen Sie zuerst ein asp.net-Formular, ValidateCode.aspx, schreiben Sie nichts. Schreiben Sie den folgenden Code direkt in den Hintergrund ValidateCode.aspx.cs:
protected void Page_Load(object sender, EventArgs e) { string validateCode = CreateValidateCode();//生成驗(yàn)證碼 Bitmap bitmap = new Bitmap(imgWidth,imgHeight);//生成Bitmap圖像 DisturbBitmap(bitmap); //圖像背景 DrewValidateCode(bitmap,validateCode);//繪制驗(yàn)證碼圖像 bitmap.Save(Response.OutputStream,ImageFormat.Gif);//保存圖像,等待輸出 } private int codeLen = 4;//驗(yàn)證碼長(zhǎng)度 private int fineness = 85;//圖片清晰度 private int imgWidth = 48;//圖片寬度 private int imgHeight = 24;//圖片高度 private string fontFamily = "Times New Roman";//字體名稱(chēng) 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() //生成驗(yàn)證碼 { string validateCode = ""; Random random = new Random();// 隨機(jī)數(shù)對(duì)象 for (int i = 0; i < codeLen; i++)//循環(huán)生成每位數(shù)值 { int n = random.Next(10);//數(shù)字 validateCode += n.ToString(); } Session["vcode"] = validateCode;//保存驗(yàn)證碼 這Session是在前臺(tái)調(diào)用的。 return validateCode;// 返回驗(yàn)證碼 } private void DisturbBitmap(Bitmap bitmap)//圖像背景 { Random random = new Random();//通過(guò)隨機(jī)數(shù)生成 for (int i = 0; i < bitmap.Width; i++)//通過(guò)循環(huán)嵌套,逐個(gè)像素點(diǎ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)//繪制驗(yàn)證碼圖像 { Graphics g = Graphics.FromImage(bitmap);//獲取繪制器對(duì)象 Font font = new Font(fontFamily, fontSize, FontStyle.Bold);//設(shè)置繪制字體 g.DrawString(validateCode, font, Brushes.Black, posX, posY);//繪制驗(yàn)證碼圖像 }
Login.aspx-Formularvorderseite:
//這個(gè)函數(shù)是在點(diǎn)擊驗(yàn)證碼圖片就會(huì)更換驗(yàn)證碼 //可以使用微軟自帶的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ù),實(shí)現(xiàn)更換驗(yàn)證碼
Backend-Code: Klicken Sie auf Anmeldebest?tigung Ob die Benutzereingabe korrekt ist.
string usercode = txtcode.Text.Trim(); if (usercode == Session["vcode"].ToString())//Session["vcode"] { }
Andere Codes sind die gleichen wie andere.
Der oben beschriebene Prozess der Generierung des ASP.NET-Best?tigungscodes wird mit Ihnen geteilt. Ich hoffe, Sie k?nnen das Gelernte anwenden.
Weitere Artikel zur einfachen Erstellung von asp.net-Best?tigungscodes finden Sie auf der chinesischen PHP-Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

Sie haben KeeKeywordinc#vereinfacht, dass byAutomatischgeneratestatemachinethatenableSlazyEvaluation.1.itallowsReturningEMSonatimeuchteyieldReturn, PaeteExecutionBetweeneachItem, die ISIDEALFORGARGARGEordynamic -Sequences.2.yieldbreakcanBeusus

Abh?ngigkeitsinjektion (DI) Inc#isAdesignPatternThatenhancesModularit?t, Testbarkeit und Maschinenbarkeit von ClasseSestoreceivedEpendenciesexternally.1.DiPromotesLoosecoUPlingByDecoUplingObjectCreationFromusage.2itsimplifiedeDing ThroughthroughthroughthroughthroughthmockoBectinjectinjectinjectinjekte

Die Rolle von idisposbar und in C# besteht darin, nicht verwaltete Ressourcen effizient und deterministisch zu verwalten. 1. idisposable bietet die Dispose () -Methode, damit die Klasse klar definieren kann, wie nicht verwaltete Ressourcen freigegeben werden k?nnen. 2. Die Verwendung der Verwendung stellt sicher, dass Dispose () automatisch aufgerufen wird, wenn das Objekt aus dem Zielfernrohr ist, das Ressourcenmanagement vereinfacht und Leckagen vermieden wird. 3. Wenn Sie es verwenden, beachten Sie bitte, dass das Objekt iDisposable implementieren muss, mehrere Objekte deklarieren kann und immer die Verwendung für Typen wie StreamReader verwenden sollte. 4. Zu den h?ufigen Best Practices geh?rt es, sich nicht auf Destruktoren zu verlassen, um die Verschachtelungen korrekt zu behandeln und das Disol -Muster (Dispose) zu implementieren.

LambdaexpressionsandlinqSimplifyDatamanipulationInC#ByenablingConcise, lesbar und efficienzidcode.1.lambdaexpressionslowinLineFunctionDefinitions, MakeTeSasierTopassLogicasargumentsfor -filtering, sortieren, aggategategategategorientiert

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

Vier übliche "Anti-Muster" -Probleme in der C# -entwicklung müssen vermieden werden. Erstens führt der unangemessene Gebrauch von Async/Auseait zu Deadlocks oder Leistungsverschlechterungen. Wir sollten uns an das Prinzip der vollst?ndigen Asynchronit?t halten, configureAwait (falsch) konfigurieren und die Benennung standardisieren. Zweitens beeinflusst eine überm??ige Abh?ngigkeit von VAR die Lesbarkeit und deklare und vereint die Teamspezifikationen explizit, wenn der Typ unklar ist. Drittens führt die falsche Verwendung von Entsus- und Ressourcenverwaltung zu Leckagen, und die Anwendungsanweisung sollte korrekt verwendet werden und der iDisposable Standardmodus sollte implementiert werden. Viertens verursacht der Missbrauch statischer Klassen oder Singletons Testschwierigkeiten, und die Abh?ngigkeitsinjektion, die Staatenlosigkeit oder den Lebenszyklus, der von Containern verwaltet wird, sollte Priorit?t einger?umt werden. Das Vermeiden dieser Missverst?ndnisse kann die Qualit?t und Wartung der Code erheblich verbessern.

Span und Speicher verbessern die C# -Leistung durch Reduzierung der Speicherzuweisung. 1.span vermeidet das Array-Kopieren und liefert leichte Verweise auf den vorhandenen Speicher, der für die Parsen von Bin?rprotokollen, Stringoperationen und Hochleistungs-Puffermanagement geeignet ist. 2. Speicher unterstützt das übergeben von Speicherschnitten über asynchrone Methoden, was für Szenarien geeignet ist, in denen flexiblere Lebenszyklen erforderlich sind. 3. Beide reduzieren den GC -Druck, optimieren Sie die Leistung, indem Sie Puffer wiederverwenden und ein vorübergehendes Kopieren vermeiden. 4. Die Span ist auf den Stapel beschr?nkt und kann nicht in Klassen gespeichert oder in asynchronen Methoden verwendet werden. Vermeiden Sie vorsichtig, um Neuzuweisungsoperationen wie Calling.toArray () zu vermeiden.

Solides Prinzip sind fünf Entwurfsprinzipien, um die Wartbarkeit der Code und die Skalierbarkeit bei objektorientierter Programmierung zu verbessern. Sie sind: 1. Das Prinzip der einzelnen Verantwortung (SRP) verlangt, dass die Klasse nur eine Verantwortung übernimmt, z. 2. Das ?ffnungs- und Schlussprinzip (OCP) betont, dass die Erweiterung durch Schnittstellen oder abstrakte Klassen unterstützt wird, ohne den ursprünglichen Code zu ?ndern, z. 3. Das Richter -Ersatzprinzip (LSP) erfordert, dass die Unterklasse die übergeordnete Klasse ersetzen kann, ohne die Logik zu zerst?ren, z. 4. Das Interface-Isolationsprinzip (ISP) befürwortet die Definition feink?rniger Schnittstellen, wie z. 5. Das Abh?ngigkeitsinversionsprinzip (DIP) befürwortet die
