The CheckCode. aspx page does not need to be written.
<% @ Page Language = "C #" CodeFile = "CheckCode. aspx. cs" Inherits = "ValidateCode" %>
<! DOCTYPE html PUBLIC "-// W3C // dtd xhtml 1.1 // EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<Html xmlns = "http://www.w3.org/1999/xhtml">
<Head runat = "server">
<Title> Untitled Page </title>
</Head>
<Body>
<Form id = "form1" runat = "server">
</Form>
</Body>
</Html>
CheckCode. aspx. cs Page code, the main part of the verification code generated
Using System;
Using System. Data;
Using System. Configuration;
Using System. Web;
Using System. Web. Security;
Using System. Web. UI;
Using System. Web. UI. WebControls;
Using System. Web. UI. WebControls. WebParts;
Using System. Web. UI. HtmlControls;
Using System. Drawing;
Public partial class ValidateCode: System. Web. UI. Page
{
Private void Page_Load (object sender, System. EventArgs e)
{
This. CreateCheckCodeImage (GenerateCheckCode ());
}
# Code generated by region Web Form Designer
Override protected void OnInit (EventArgs e)
{
//
// CODEGEN: This call is required by the ASP. NET Web form designer.
//
InitializeComponent ();
Base. OnInit (e );
}
/// <Summary>
/// The designer supports the required methods-do not use the code editor to modify
/// Content of this method.
/// </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 = 0; I <5; I ++)
{
Number = random. Next ();
If (number % 2 = 0)
Code = (char) ('0' + (char) (number % 10 ));
Else
Code = (char) ('A' + (char) (number % 26 ));
CheckCode + = code. ToString ();
}
Session ["CheckCodeImage"] = 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 * 12.5), 22 );
Graphics g = Graphics. FromImage (image );
Try
{
// Generate a random generator www.2cto.com
Random random = new Random ();
// Clear the background color of the image
G. Clear (Color. White );
// Draw the background noise line of the image
For (int I = 0; I <25; I ++)
{
Int x1 = random. Next (image. Width );
Int x2 = random. Next (image. Width );
Int y1 = random. Next (image. Height );
Int y2 = random. Next (image. Height );
G. DrawLine (new Pen (Color. Silver), x1, y1, x2, y2 );
}
Font font = new System. Drawing. Font ("Arial", 12, (System. Drawing. FontStyle. Bold | System. Drawing. FontStyle. Italic ));
System. drawing. drawing2D. linearGradientBrush brush = new System. drawing. drawing2D. linearGradientBrush (new Rectangle (0, 0, image. width, image. height), Color. blue, Color. darkRed, 1.2f, true );
G. DrawString (checkCode, font, brush, 2, 2 );
// Foreground noise of the image
For (int I = 0; I <100; I ++)
{
Int x = random. Next (image. Width );
Int y = random. Next (image. Height );
Image. SetPixel (x, y, Color. FromArgb (random. Next ()));
}
// Draw the border line of the image
G. DrawRectangle (new Pen (Color. Silver), 0, 0, image. Width-1, image. Height-1 );
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 ();
}
}
}
Next, we will reference the above verification code generation page (too simple to say)
<Asp: Label ID = "labFlag" runat = "server" Text = "Label"> </asp: Label>
<Asp: TextBox ID = "txtYz_Code" runat = "server" MaxLength = "5" Width = "55px" BorderColor = "Gray" BorderWidth = "1px"> </asp: textBox>
Background judgment
If (String. Compare (Session ["CheckCodeImage"]. ToString (), this.txt Yz_Code.Text.Trim (). ToUpper (), true )! = 0)
{
This. labFlag. text = "Incorrect verification code. Enter the correct verification code. ";
}
From Ai Zhi Chen