Add the following js script to the page where you want to refresh the verification code:
[Html]
<Script language = "javascript" type = "text/javascript">
Function fresh ()
{
Var randomnum = Math. random ();
Var getimagecode = document. getElementById ("codeimage ");
Getimagecode. src = "ValidateImage. aspx? "+ Randomnum;
}
</Script>
<Script language = "javascript" type = "text/javascript">
Function fresh ()
{
Var randomnum = Math. random ();
Var getimagecode = document. getElementById ("codeimage ");
Getimagecode. src = "ValidateImage. aspx? "+ Randomnum;
}
</Script>
Place the following code on the page where the verification code is to be placed (in layers, in cells, etc.). This is a diagram of the Verification Code. Enter the text box of the verification code and the link to the refresh method.
[Html]
<Div>
<Asp: TextBox ID = "txtValidateCode" runat = "server" Width = "55px" MaxLength = "4"> </asp: TextBox>
<A href = "javascript: fresh ()" style = "font-size: 12px; color: Green"> invisible </a> </div>
<Div>
<Asp: TextBox ID = "txtValidateCode" runat = "server" Width = "55px" MaxLength = "4"> </asp: TextBox>
<A href = "javascript: fresh ()" style = "font-size: 12px; color: Green"> invisible </a> </div>
The Validateimage. aspx page is used to generate an image.
[Html] view plaincopyprint? Private void Page_Load (object sender, System. EventArgs e)
{
This. CreateCheckCodeImage (RndNum ());
}
Private string RndNum ()
{
Int number;
Char code;
String checkCode = String. Empty;
System. Random random = new Random ();
For (int I = 0; I <4; I ++)
{
Number = random. Next ();
If (number % 2 = 0)
Code = (char) ('0' + (char) (number % 10 ));
Else
Code = (char) ('A' + (char) (number % 26 ));
CheckCode + = code. ToString ();
}
Response. Cookies. Add (new HttpCookie ("yzmcode", 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
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 <20; 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. Aqua), 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. bluevilet, Color. bluevilet, 1.2f, true );
G. DrawString (checkCode, font, brush, 2, 2 );
// Foreground noise of the image
For (int I = 0; I <50; 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 ();
}
}