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

【C#.NET】自定义“验证码”控件(转)

2009-09-24 14:56 260 查看
“验证码”在登录的时候,经常用到,如果把“她”封装成控件,是不是很爽呢?但是,我一般不喜欢封装得太厉害的“她”,因为什么都看不到,亦或看起来比较朦胧:)
切入点
利用IHttpHandler接口,动态生成验证码

图一(直接看效果吧)
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;

using System.Web.SessionState;
using System.Web.UI;
using System.Drawing;

namespace ControlValidater

步骤二(使用方法)
直接引用编译后的dll文件
在web.config的web节点,加入<httpHandlers>元素,
例如

<httpHandlers>

<add path="CValidater.aspx" verb="*" type="ControlValidater.CValidater" />
</httpHandlers>
当然,如果直接把类库作为一个普通类,放在使用的Website的App_Data目录的话,就不需要配置了:)

步骤三(使用方法)
在需要使用验证码的页面,扔一个image标记,然后把他的url指向"类名.aspx"
例如

<asp:Image ID="Image1" runat="server" ImageUrl="~/CValidater.aspx"/>
到此配置完成,是不是很简单呢:)
哎...
还是把最后一个步骤代码贴出来吧.

protected void Button1_Click(object sender, EventArgs e)
{
";
";
}
需要注意的几个地方:)
一,记得要实现IRequiresSessionState接口,虽然她只是一个标记,没有她,Session状态无法使用.
二,HttpSessionState的对象是通过上下文获得的.
三,配制config的时候,不要忘记path="CValidater.aspx",如果path="*.aspx",那你所有的页面都将被CValidater处理,这不是我们所要的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: