把最近碰到的 能够用的验证码 都放出来,作个记录
1.GSC_WebControlLibrary 这是在网上找到的一个控件,非常好用。但是效果不是特别好(见下图。
)虽然容易使用,所有的属性都可以像控件一样设置,但是可用性不太高。用户不能自定义,而且看起来这个验证码效果不太好。
效果:ASP.NET验证码(3种)

2.用一个页面生成图片,另一个页面调用,验证码存入cookie,调用时取cookie对比验证.这个用户就可以按自己的喜好更改效果和验证码的长度了 (:

效果如图:
ASP.NET验证码(3种)

代码如下:
CheckCode.aspx

ASP.NET验证码(3种)using System;
ASP.NET验证码(3种)
using System.Data;
ASP.NET验证码(3种)
using System.Configuration;
ASP.NET验证码(3种)
using System.Collections;
ASP.NET验证码(3种)
using System.Web;
ASP.NET验证码(3种)
using System.Web.Security;
ASP.NET验证码(3种)
using System.Web.UI;
ASP.NET验证码(3种)
using System.Web.UI.WebControls;
ASP.NET验证码(3种)
using System.Web.UI.WebControls.WebParts;
ASP.NET验证码(3种)
using System.Web.UI.HtmlControls;
ASP.NET验证码(3种)
using System.Drawing;
ASP.NET验证码(3种)
using System.Drawing.Drawing2D;
ASP.NET验证码(3种)
using System.Drawing.Imaging;
ASP.NET验证码(3种)
ASP.NET验证码(3种)
public partial class Tools_CheckCode : System.Web.UI.Page

然后在需要使用的页面引用:
UseCheckCode.aspx
ASP.NET验证码(3种)<img src="Tools/CheckCode.aspx" alt="验证码" style="width: 60px; height: 24px" />

3.用web handler生成图片。这个其实和前面的意思大致差不多,调用方法也基本和2一样,不同的是,他的验证码是存入Session的。供学习参考。

效果图如下:
ASP.NET验证码(3种)

ValidateImageHandler.ashx
ASP.NET验证码(3种)%@ WebHandler Language="C#" Class="ValidateImageHandler" %>
ASP.NET验证码(3种)
ASP.NET验证码(3种)
using System;
ASP.NET验证码(3种)
using System.Web;
ASP.NET验证码(3种)
using System.Web.SessionState;
ASP.NET验证码(3种)
using System.Drawing;
ASP.NET验证码(3种)
using System.Drawing.Imaging;
ASP.NET验证码(3种)
using System.Text;
ASP.NET验证码(3种)

相关文章: