欢迎来到天天文库
浏览记录
ID:14757810
大小:40.00 KB
页数:14页
时间:2018-07-30
《asp.net 实现验证码功能的web控件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Asp.net实现验证码功能的Web控件Asp.net实现验证码功能的Web控件Asp.net的设计方式和设计理念和其他的如Asp,Jsp,Php,Perl等都不一样,几乎是完全的面向对象设计!代码的复用就是其中差异较大的特点之一,Asp.net除了可以用Include以外,还提供了比较有特点的Web控件,包括:Ascx形式和带设计时支持的控件[本文属于后者],为了熟悉这些新概念,我自己写了个Web控件。在实际项目中运行使用良好,以后,要有时间,我还将不断改进。ValidateCode控件的使用方法:第一步:编译
2、我提供的原代码,然后,在Studio.net2003工具栏上,选择"添加/移除项",选中编译好的dll文件。第二步:工具栏上就会多一个Web控件ValidateCode,做好一个Web窗体,在Studio.net2003开发界面上,直接把控件拖到WebForm上,就OK!第三步:在该控件的GraphicOK事件中获取,验证码的字符信息,用于和用户录入做比较!最后一步:在网站的根目录下,建一个temp目录(也可以自己指定目录),用于存放验证码图片,不用担心,代码会自动删除无用的图片!原代码如下:usingSyste
3、m;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.ComponentModel;usingSystem.IO;usingSystem.Drawing;usingSystem.Drawing.Drawing2D;usingSystem.Drawing.Imaging;namespaceWebValidateCode{//////ValidateCode的摘要说明。///设计者:王海波2004-11-20///4、ary>///publicenumGraphicType{Jpg=0,Gif=1,Png=2,Bmp=3,}//[ToolboxBitmap(@"D:DotnetAppValidateCodeValidateCode.bmp")]//设置控件在工具箱上的图标publicclassValidateCode:System.Web.UI.WebControls.WebControl,INamingContainer{privateintpCodelen=5;privateintpChartWidth=100;pr5、ivateintpChartHeight=20;privateGraphicTypepChartType;privatestringpAuthenCode;privatestringpTempImageURLPath="/temp";privatestringpAuthenImageFullname;privatestringpAuthenImageFullURL;//生成校验码的变量startprivateBitmapvalidateImage;privateGraphicsg;//生成校验码的变量Endpri6、vateTextBoxtxt=newTextBox();privateSystem.Web.UI.WebControls.Imageimg=newSystem.Web.UI.WebControls.Image();#region定义控件事件publicdelegatevoidGraphicCreated(objectsender,EventArgse);publiceventEventHandlerGraphicOK;//在校验图片生成结束以后触发protectedvirtualvoidOnGraphicOK(o7、bjectsender,EventArgse){if(GraphicOK!=null){//Invokesthedelegates.GraphicOK(sender,e);}}#endregion#region控件属性//生成校验码的长度[Bindable(true),Browsable(true),Category("Appearance"),DefaultValue(true),Description("需要验证码的长度,建议在5~8位之间!")]publicintCodeLength{get{returnp8、Codelen;}set{pCodelen=value;}}//生成校验码的长度[Bindable(true),Browsable(true),Category("Appearance"),DefaultValue(true),Description("生成验证码图片的临时存放路径,要求必须是网站下的虚拟目录!")]publicstringTempImageURLPath
4、ary>///publicenumGraphicType{Jpg=0,Gif=1,Png=2,Bmp=3,}//[ToolboxBitmap(@"D:DotnetAppValidateCodeValidateCode.bmp")]//设置控件在工具箱上的图标publicclassValidateCode:System.Web.UI.WebControls.WebControl,INamingContainer{privateintpCodelen=5;privateintpChartWidth=100;pr
5、ivateintpChartHeight=20;privateGraphicTypepChartType;privatestringpAuthenCode;privatestringpTempImageURLPath="/temp";privatestringpAuthenImageFullname;privatestringpAuthenImageFullURL;//生成校验码的变量startprivateBitmapvalidateImage;privateGraphicsg;//生成校验码的变量Endpri
6、vateTextBoxtxt=newTextBox();privateSystem.Web.UI.WebControls.Imageimg=newSystem.Web.UI.WebControls.Image();#region定义控件事件publicdelegatevoidGraphicCreated(objectsender,EventArgse);publiceventEventHandlerGraphicOK;//在校验图片生成结束以后触发protectedvirtualvoidOnGraphicOK(o
7、bjectsender,EventArgse){if(GraphicOK!=null){//Invokesthedelegates.GraphicOK(sender,e);}}#endregion#region控件属性//生成校验码的长度[Bindable(true),Browsable(true),Category("Appearance"),DefaultValue(true),Description("需要验证码的长度,建议在5~8位之间!")]publicintCodeLength{get{returnp
8、Codelen;}set{pCodelen=value;}}//生成校验码的长度[Bindable(true),Browsable(true),Category("Appearance"),DefaultValue(true),Description("生成验证码图片的临时存放路径,要求必须是网站下的虚拟目录!")]publicstringTempImageURLPath
此文档下载收益归作者所有