Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)delv
published in(发表于) 2014/1/24 9:04:13
asp.net2.0生成验证码,并显示验证码_[Asp.Net教程]

asp.net2.0生成验证码,并显示验证码_[Asp.Net教程]

1、建立网站,添加一个网页ValitionNo.aspx,和Default.aspx,新建一个文件夹images。如图所示:

2、ValitionNo.aspx里不用放任何控件,代码如下:



<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ValitionNo.aspx.cs" Inherits="guestBook_ValitionNo" %>





无标题页











  双击页面ValitionNo.aspx进入ValitionNo.aspx.cs页面,按如下所示填充代码:



using System;
using System.Data;
using System.Configuration;
using System.Collections;
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.Imaging;
using System.Drawing.Drawing2D;
using System.Drawing;

public partial class guestBook_ValitionNo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

Random rd = new Random(); //创建随机数对象
int valationNo = 1000 + rd.Next(8999);//取得4位随机数

//建立位图对象
Bitmap newBitmap = new Bitmap(34, 16, PixelFormat.Format32bppArgb);
//根据上面创建的位图对象创建绘图面
Graphics g = Graphics.FromImage(newBitmap);
//以指定的颜色填充矩形区
g.FillRectangle(new SolidBrush(Color.White), new Rectangle(0, 0, 34, 16));

//创建字体对象
Font textFont = new Font("Times New Roman", 10);

//创建RectangleF结构指定一个区域
RectangleF rectangle = new RectangleF(6, 0, 34, 16);

//使用指定的颜色填充上面RectangleF结构指定的矩形区域
g.FillRectangle(new SolidBrush(Color.BurlyWood), rectangle);
//在上面填充的矩形区域中填充上面生成的随机数
g.DrawString(valationNo.ToString(), textFont, new SolidBrush(Color.Blue), rectangle);
//把创建的位图保存到指定的路径
newBitmap.Save(Server.MapPath("images") + "\VaImg.gif", ImageFormat.Gif);
newBitmap.Save(Response.OutputStream, ImageFormat.Gif);
}
}



3、在Default.aspx里添加一个图片按钮和普通按钮,ImageButton的图片路径是~/ValitionNo.aspx,而不是某张图片。代码如下:



<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>





无标题页




验证码:





在Default.aspx.cs里不用添任何额外代码。Default.aspx.cs代码如下:



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;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
}


4、运行效果如下所示:

如果点验证码图片或者点换一张按钮,都可以使验证码的数字随机改变。







If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759