以前在网上找到了很多关于中文验证码的文章(园子里也有,大家自己去找吧),但是都没有调测成功,总出现
The target '__Page' for the callback could not be found or did not implement ICallbackEventHandler不能ICallbackEventHandler回掉的错误,我进行了一下修正并整理,现在可以实现了中文验证码无刷新的操作,现特把全部源码分享给大家
核心源码
The target '__Page' for the callback could not be found or did not implement ICallbackEventHandler不能ICallbackEventHandler回掉的错误,我进行了一下修正并整理,现在可以实现了中文验证码无刷新的操作,现特把全部源码分享给大家

核心源码
1
public
partial
class
Image:System.Web.UI.Page
2
{
3
protectedvoidPage_Load(objectsender,EventArgse)
4

{
5
CreateCheckCodeImage(GenCode(4));
6
}
7
/**//**//**////<summary>
8
///'产生随机字符串
9
///</summary>
10
///<paramname="num">随机出几个字符</param>
11
///<returns>随机出的字符串</returns>
12
privatestringGenCode(intnum)
13

{
14
stringstr="的一是在不了有和人这中大为上个国我以要他时来用们...";
15
char[]chastr=str.ToCharArray();
16
17
stringcode="";
18
Randomrd=newRandom();
19
inti;
20
for(i=0;i<num;i++)
21

{
22
//code+=source[rd.Next(0,source.Length)];
23
code+=str.Substring(rd.Next(0,str.Length),1);
24
}
25
returncode;
26
27
}
28
29
/**//**//**////<summary>
30
///生成图片(增加背景噪音线、前景噪音点)
31
///</summary>
32
///<paramname="checkCode">随机出字符串</param>
33
privatevoidCreateCheckCodeImage(stringcheckCode)
34

{
35
if(checkCode.Trim()==""||checkCode==null)
36
return;
37
Session["Code"]=checkCode;//将字符串保存到Session中,以便需要时进行验证
38
System.Drawing.Bitmapimage=newSystem.Drawing.Bitmap((int)(checkCode.Length*21.5),22);
39
Graphicsg=Graphics.FromImage(image);
40
try
41

{
42
//生成随机生成器
43
Randomrandom=newRandom();
44
45
//清空图片背景色
46
g.Clear(Color.White);
47
48
//画图片的背景噪音线
49
inti;
50
for(i=0;i<25;i++)
51

{
52
intx1=random.Next(image.Width);
53
intx2=random.Next(image.Width);
54
inty1=random.Next(image.Height);
55
inty2=random.Next(image.Height);
56
g.DrawLine(newPen(Color.Silver),x1,y1,x2,y2);
57
}
58
59
Fontfont=newSystem.Drawing.Font("Arial",12,(System.Drawing.FontStyle.Bold));
60
System.Drawing.Drawing2D.LinearGradientBrushbrush=newSystem.Drawing.Drawing2D.LinearGradientBrush(newRectangle(0,0,image.Width,image.Height),Color.Blue,Color.DarkRed,1.2F,true);
61
g.DrawString(checkCode,font,brush,2,2);
62
63
//画图片的前景噪音点
64
g.DrawRectangle(newPen(Color.Silver),0,0,image.Width-1,image.Height-1);
65
System.IO.MemoryStreamms=newSystem.IO.MemoryStream();
66
image.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
67
Response.ClearContent();
68
Response.ContentType="image/Gif";
69
Response.BinaryWrite(ms.ToArray());
70
71
}
72
catch
73

{
74
g.Dispose();
75
image.Dispose();
76
}
77
78
}希望该源码只是一个抛砖引玉的作用,你可以进行修改,比如说改中文字库,字体背景噪音等等
默认帐号密码均为51aspx,这里用户登录只是一个验证的例子,没有其他功能

2



3

4



5

6

7


8

9

10

11

12

13



14

15

16

17

18

19

20

21



22

23

24

25

26

27

28

29


30

31

32

33

34



35

36

37

38

39

40

41



42

43

44

45

46

47

48

49

50

51



52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73



74

75

76

77

78

默认帐号密码均为51aspx,这里用户登录只是一个验证的例子,没有其他功能
作者51aspx
完整源码下载地址http://www.51aspx.com/CV/ZhongWenYanZhengMa