asp.net ajax实现无刷新验证码
asp.net ajax实现无刷新验证码
发布时间:2016-12-29 来源:查字典编辑
摘要:1、首先是在后台验证码的aspx文件的Page_Load中的事件代码:复制代码代码如下:usingSystem;usingSystem.Co...

1、首先是在后台验证码的aspx文件的Page_Load中的事件代码:

复制代码 代码如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Drawing;

namespace 学生在线考试系统

{

public partial class AjaxAutoCode : System.Web.UI.Page

{

//验证数字

public string authcode = string.Empty;

protected void Page_Load(object sender, EventArgs e)

{

#region 第一种产生验证码的方法

Random random = new Random();

authcode = random.Next(1111, 9999).ToString();

//构造图片

Bitmap image = new Bitmap(authcode.Length * 12, 25);

//创建画布

Graphics g = Graphics.FromImage(image);

try

{

g.Clear(Color.White);

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 Font("Arial", 12, FontStyle.Bold | FontStyle.Italic);

System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(

new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkBlue, 1.2f, true);

g.DrawString(authcode, font, brush, 2, 2);

//画图片的前景噪点

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()));

}

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);

ms.WriteTo(this.Response.OutputStream);

ms.Close();

this.Response.ContentType = "image/gif";

}

finally

{

image.Dispose();

g.Dispose();

}

#endregion

}

}

}

2、其次在显示验证码的页面定义一个JS函数

复制代码 代码如下:

function fGetCode()

{

document.getElementById("getcode").src="Default2.aspx?"+Math.random();

}

3.再编辑前台页面aspx,下面是前台页面的代码片段

复制代码 代码如下:

<label>验证码</label>

<asp:TextBox ID="txt_checkCode" runat="server" Width="178px"></asp:TextBox>

<img src="Default2.aspx" alt="看不清楚?" id="getcode"/> <a href="javascript:fGetCode()">更换验证码</a>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类