All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
Asp.net,2.0,用C#,创建,PDF文件(示例代码下载)_[Asp.Net教程]
实用:动态网页制作技术PHP的十个应用技巧_php资料_编程技术
如何将应用程序由ASP.NET,1.1移植到ASP.NET,2.0_[Asp.Net教程]
visual c++中ActiveX控件创建实例
[C#]StringWriter实现的一个功能_[Asp.Net教程]
组合ASP.NET,2.0数据控件构建强大用户接口_[Asp.Net教程]
十七 翻新标准_[Html教程]
GridView实用示例源码(可以导出Excel)_[Asp.Net教程]
一个Ajax.NET的查询实例_[Asp.Net教程]
VBScript实现对Windows注册表的修改_JavaScript技术_编程技术
Reading number is top 10 pictures
The money of more than 100 countries and regions17
代沟,真好
如果我是导演...
云南大理的美女
30 beautiful school beauty2
9.3阅兵全景图3-外国方阵梯队和坦克方阵梯队
Look for from human art net, is good1
Ashlynn Brooke show proud chest measurement3
寒流来了
Chinese paper-cut grilles art appreciation4
Download software ranking
塘西风月痕
apache-tomcat-6.0.33
金山office2007
Boxer Classic video2
1400篇各类破解文章
jdk1.5
Tram sex maniac 2 (H) rar bag3
Unix video tutorial20
仙剑奇侠传98版歌曲
I for your crazy
delv published in(发表于) 2014/1/23 3:11:41 Edit(编辑)
ASP.NET实现数字和字符相混合的验证码_[Asp.Net教程]

ASP.NET实现数字和字符相混合的验证码_[Asp.Net教程]

ASP.NET实现数字和字符相混合的验证码_[Asp.Net教程]

把数据存储在Session中:Session("key")="test"

  从Session取值:dim testvalue as string=Session("key")

  类似的:

  把数据存储在ViewState中:ViewState("key")="test"

  从ViewState中取值:dim testvalue as string=ViewState("key")

  百闻不如一见,有时代码本身就比任何解说更有表现力,所以在此就不对代码解说太多了,本文实现的验证码需要用到两个文件:

  gif.aspx 该文件用于生成验证码。

  ValidateCode.aspx 该文件用来测试验证码(即如何使用)

  下面给出gif.aspx的完整代码:


<%@ import namespace="System"%>
<%@ import namespace="System.io"%>
<%@ import namespace="System.Drawing"%>
<%@ import namespace="System.Drawing.Imaging"%>
<script language="vb" runat="server">
Sub Page_Load(Sender as object,e as eventargs)
’RndNum是一个自定义函数
dim VNum as string=RndNum(4)
Session("VNum")=VNum
ValidateCode(VNum)
End Sub
’生成图象验证码函数
Sub ValidateCode(VNum)
Dim Img as System.Drawing.Bitmap
Dim g as Graphics
Dim ms as MemoryStream
dim gheight as integer=Int(Len(VNum)*11.5)
’gheight为图片宽度,根据字符长度自动更改图片宽度
img=new BitMap(Gheight,20)
g=Graphics.FromImage(img)
g.DrawString(VNum,(New Font("Arial",10)),(New SolidBrush(color.blue)),3,3)’在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y)
ms=New MemoryStream()
img.Save(ms,ImageFormat.Png)
Response.ClearContent() ’需要输出图象信息 要修改HTTP头
Response.ContentType="image/Png"
Response.BinaryWrite(ms.ToArray())
g.Dispose()
img.Dispose()
Response.End()
End Sub
’--------------------------------------------
’函数名称:RndNum
’函数参数:VcodeNum--设定返回随机字符串的位数
’函数功能:产生数字和字符混合的随机字符串
Function RndNum(VcodeNum)
dim Vchar as string="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,X,Y,Z"
dim VcArray() as string=split(Vchar,",") ’将字符串生成数组
dim VNum as string=""
dim i as byte
For i=1 to VcodeNum
Randomize
VNum=VNum & VcArray(Int(35*Rnd)) ’数组一般从0开始读取,所以这里为35*Rnd
Next
Return VNum
End Function
</script>

  那么又应该如何使用该文件生成的图象验证码,看这句代码:


<asp:Image id="Image1" runat="server" ImageUrl="gif.aspx" />

  这就是用来显示验证码的Image控件,你可以把它放在任何你喜欢的地方,下面的给出详细的使用代码,你把它保存为ValidateCode.aspx,并把它和gif.aspx放在同一目录下,在浏览器中打开ValidateCode.aspx,就可以测试它的效果了:


<script language="vb" Runat="Server">
Sub Page_Load(Sender as object,e as eventargs)
dim VNum as string=Session("VNum")
Session.Abandon()
ViewState("VNum")=VNum
End Sub
’下面的事件代码是用来测试验证码,可以根据需要更改

Sub btnSubmit_click(sender as object,e as eventargs)
’判断输入的验证码与所给是否相同
If txtValidateCode.text=Cstr(ViewState("VNum")) then
lblShow.text="<font color=’red’>提示:验证通过</font>"
Else
lblShow.text="所填写的验证码与所给的不符"
End If
End Sub

</script>
<html>
<body>
<form runat="server">
<div align="center">
<table width="750">
<!--DWLayoutTable-->
<tr>
<td width="256" height="46">  </td>
<td width="9"> </td>
<td width="88"> </td>
<td width="87"> </td>
<td width="100"> </td>
<td width="68"> </td>
<td width="97"> </td>
</tr>
<tr>
<td height="21"></td>
<td></td>
<td colspan="3" valign="top"><asp:label ID="lblShow" runat="server"></asp:label></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="14"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="21"> </td>
<td colspan="2" valign="middle">验证码:</td>
<td valign="top"><asp:Image id="Image1" runat="server" ImageUrl="gif.aspx" /></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="20"> </td>
<td colspan="2" valign="top">输入验证码:</td>
<td valign="top"><asp:textbox ID="txtValidateCode" runat="server" TextMode="SingleLine" /></td>
<td colspan="2" valign="middle"><font color="#FF0000" size="2">*注意:区分大小写</font></td>
<td> </td>
</tr>
<tr>
<td height="25"> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td height="19"> </td>
<td> </td>
<td> </td>
<td valign="top"><asp:button ID="btnSubmit" runat="server" Text="比较" onclick="btnSubmit_click" /></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</div>
</form>
</body>
</html>

  来源:网络






添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.