搜索下网上ASP.NET生成验证码,不知如何区分,从使用文件来看有以下3种形式,完整项目如下:
一、利用外来组件:利用网上的组件GSC_WebControlLibrary大家可以下载下,下载不了找我,这个组件也挺好用。添加引用就可以了,默认是用Cookie的,当然为了安全也可改下属性了,如下:
CodeCacheType="HttpSession"
用的时候,其Session键为CODE,如下代码,完整代码及效果看最后
二、书写一个aspx页面:用一个页面生成图片,另一个页面调用,验证码存入cookie,调用时取cookie对比验证.当然最好还是用session,按自己的喜好更改效果和验证码的长度了。
建立一个CheckCode.aspx页面,其CheckCode.aspx.cs代码为:
前台调用:然后在需要使用的页面引用UseCheckCode.aspx,HTML代码如下,完整代码及效果看最后
<img src="CheckCode.aspx" alt="验证码" style="width: 60px; height: 24px" />
后台调用:后台代码的调用形式如下,完整代码及效果看最后
3、建立一般处理程序:一般处理程序ValidateImageHandler.ashx的代码如下,,完整代码及效果看最后
前台调用:然后在需要使用的页面引用ValidateImageHandler.ashx,HTML代码如下,完整代码及效果看最后
<img src="ValidateImageHandler.ashx" alt="验证码" style="width:200px; height: 60px" />
后台调用:后台代码的调用形式如下,完整代码及效果看最后
调用的完整代码如下:
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebAppValidateCode._Default" %>
<%@ Register assembly="GSC_WebControlLibrary" namespace="GSC_WebControlLibrary" tagprefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
方法一:<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<cc1:VerifyCode ID="VerifyCode1" runat="server" CodeCacheType="HttpSession" />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
<asp:Label ID="Label1" runat="server"></asp:Label>
<br />
方法二:<br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<img src="CheckCode.aspx" alt="验证码" style="width: 60px; height: 24px" />
<asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Button" />
<asp:Label ID="Label2" runat="server"></asp:Label>
<br />
方法三:<br />
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<img src="ValidateImageHandler.ashx" alt="验证码" style="width:200px; height: 60px" />
<asp:Button ID="Button3" runat="server" onclick="Button3_Click" Text="Button" />
<asp:Label ID="Label3" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
Default.aspx.cs代码如下:
运行效果:
附源码【注:右键另存后把扩展名gif改为rar】:代码下载
参考:
http://hi.baidu.com/skyjoy2006/blog/item/ea39ca54ecb16b5bd009067a.html