您的位置:首页 > 编程语言 > ASP

ASP.net中的验证码实现全过程

2012-11-12 14:25 316 查看
1.新建一个页面A.aspx,作为制作验证码的实现页 代码如下

Protected ovid Page_Load(object sender,EventArgs e )

{

string path=Server.MapPath("../image/code.jpg");

System.Drawing.Image image=System.Drawing.Image.FromFile( path );

//在图片场景中创建绘图对象Graphics

Graphics g=Graphics.FromImage( image );

Font font =new Font( "宋体" , 20 , FontStyle.Italic ) ;

SolidBrush brush =new SolidBrush( Color.Blue );

PointF pf = new PointF( 2f , 2f );

string str=GetString( 4 );

//将随即生成的验证码保存在Session中,方便在需要验证码的页面来验证

Session["SN"] = str ;

g.DrawString( str , font , brush , pf );

//通常我们利用Response的响应流来达到不同的数据请求目的

image.Save( ReSpone.OutputStream , System.Drawing.Imaging.ImageFormat.JPG ) ;

g.Dispose();

image.Dispose();

ReSponse.End();

}

//下面方法为随机生成验证码

Protected void GetString( int num )

{

string str="";

string[] strarray={ "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2","3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H",
"I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };

Random r= new Random();

for( int i=0 ; i<num ; i++)

{

str+= strarray[ r.Next( strarray.Length ) ] ;

}

return str;

}

2. 在验证页面中 加一个Image 控件 和一个Html 按钮 控件( 设置其为LinkButton样式 )

a.实现显示验证码 :

在Image 控件属性中 设置其 ImageUrl = "A.aspx" ; //(也就是上面的实现验证码页)

b.实现HTMl 按钮局部刷新 验证码

。 设置HTMl 按钮样式 其VALue=“看不清换一张"

。在前台页面代码</head>前加如下代码

<script type="txtt/javascript">

function Look()

{

document.GetElementById("Image1").src=' A.aspx?' +Math.random() ;

}

</script>

。在HTml 按钮中加如下 黄色部份代码

<input id=" Button1"
onclick="Look()" ……>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: