ASP.NET 验证码的实现方式 (附示例程序下载)
验证码控件WebValidates的使用步骤如下:
1. 将验证码控件放入工具箱。
2. 拖放控件到页面相应位置。
3. 页面初始化时,编程生成验证码(假设验证码控件ID为snCode)。
snCode.Create();//首次加载生成新验证码
4. 编码对比用户的输入(假设用户输入验证码的文本框ID是txtCode),并做相应的处理。
snCode.CheckSN(txtCode.Text.Trim());//返回bool型的值.
示例代码:
实现验证码方式的用户注册功能的代码如下:
<%@ Register Assembly="WebValidates" Namespace="WebValidates" TagPrefix="cc1" %>
Web页面上增加的内容:
<table>
<tr>
<td width="24%" height="26" align="center" valign="middle">
验证码:</td>
<td valign="top" width="37%" align="left">
<asp:TextBox ID="txtCode" runat="server"></asp:TextBox>
<cc1:SerialNumber ID="snCode" runat="server">
</cc1:SerialNumber>
</td>
<td>
</td>
</tr>
<tr>
<td width="24%" height="26" align="center" valign="top">
</td>
<td width="37%" align="left" valign="middle">
<asp:Button ID="btnSubmit" runat="server" Height="31px"
onclick="btnSubmit_Click" Text="提交验证" Width="124px" />
</td>
<td>
</td>
</tr>
<tr>
<td width="24%" height="26" align="center" valign="top">
</td>
<td valign="top" width="37%" align="left">
<asp:Label ID="lblMessage" runat="server"></asp:Label>
</td>
<td>
</td>
</tr>
</table>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
snCode.Create();//首次加载生成新验证码
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (!CheckCode())
{
lblMessage.Text = "验证码错误!";
}
else
{
lblMessage.Text = "验证码正确!";
}
}
protected bool CheckCode()//验证方法
{
if (snCode.CheckSN(txtCode.Text.Trim()))//判断验证码是否输入正确
{
return true;
}
else
{
//snCode.Create();//如果验证码输入不正确,则生成新的验证码
return false;
}
}
点击下载此文件