注册了帐号好几久,都没发过一点东西,今天发个,.NET环境下的验证码控件for web form。
John.Controls.ValidateCode2V for .NET 1.1 beta1 (←点击下载)
John.Controls.ValidateCode2V for .NET 2.0 beta1 (←点击下载)
先发个试用版本,虽说是试用,但也没任何限制,只是for .NET 1.1的版本中
1
public string Code
2
{
3
get
4
{
5
string text = (string)this.ViewState["Code"];
6
if (text != null)
7
{
8
return text;
9
}
10
return string.Empty;
11
}
12
private set
13
{
14
this.ViewState["Code"] = value;
15
}
16
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

不支持private set,还望各位达人指点。源代码就懒得发了,包没加密也没混淆,用Reflector看比看我的代码都清晰。
使用方法,把John.Controls.ValidateCode2V.dll文件放到网站项目的bin文件夹中,对其添加引用(至于如何添加大家可以baidu/google),然后在工具栏的地方右键“选择项”,点“浏览”选择刚刚放在bin文件夹的John.Controls.ValidateCode2V.dll文件既可像普通控件一样使用。
下面是拉到页面后生成的代码

用的不是Cooike也不是Session保存生成的验证码,而用了ViewState,个人感觉这样更加符合.NET的编程风格。
因为用的是事件触发机制,所以在页面cs文件里的Page_Load事件添加以下代码。







运行前请在根目录处新建一个temp的文件夹供放临时文件用,temp是默认的,可以通过设置控件的ImageURLPath属性改变文件夹名。