資源描述:
《asp.net 實現(xiàn)驗證碼功能的web控件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Asp.net實現(xiàn)驗證碼功能的Web控件Asp.net實現(xiàn)驗證碼功能的Web控件Asp.net的設(shè)計方式和設(shè)計理念和其他的如Asp,Jsp,Php,Perl等都不一樣,幾乎是完全的面向?qū)ο笤O(shè)計!代碼的復(fù)用就是其中差異較大的特點之一,Asp.net除了可以用Include以外,還提供了比較有特點的Web控件,包括:Ascx形式和帶設(shè)計時支持的控件[本文屬于后者],為了熟悉這些新概念,我自己寫了個Web控件。在實際項目中運行使用良好,以后,要有時間,我還將不斷改進。ValidateCode控件的使用方法:第一步:編譯
2、我提供的原代碼,然后,在Studio.net2003工具欄上,選擇"添加/移除項",選中編譯好的dll文件。第二步:工具欄上就會多一個Web控件ValidateCode,做好一個Web窗體,在Studio.net2003開發(fā)界面上,直接把控件拖到WebForm上,就OK!第三步:在該控件的GraphicOK事件中獲取,驗證碼的字符信息,用于和用戶錄入做比較!最后一步:在網(wǎng)站的根目錄下,建一個temp目錄(也可以自己指定目錄),用于存放驗證碼圖片,不用擔(dān)心,代碼會自動刪除無用的圖片!原代碼如下:usingSyste
3、m;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.ComponentModel;usingSystem.IO;usingSystem.Drawing;usingSystem.Drawing.Drawing2D;usingSystem.Drawing.Imaging;namespaceWebValidateCode{//////ValidateCode的摘要說明。///設(shè)計者:王海波2004-11-20///4、ary>///publicenumGraphicType{Jpg=0,Gif=1,Png=2,Bmp=3,}//[ToolboxBitmap(@"D:DotnetAppValidateCodeValidateCode.bmp")]//設(shè)置控件在工具箱上的圖標(biāo)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;//在校驗圖片生成結(jié)束以后觸發(fā)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("生成驗證碼圖片的臨時存放路徑,要求必須是網(wǎng)站下的虛擬目錄!")]publicstringTempImageURLPath