当前位置:编程学习 > asp >>

asp.net生成简单验证码

我是初学者,只能实现一些小小的功能,希望对于我们这样的初学者有帮助

先看一下效果图:

 \


其实很简单的一个生成验证码的东西。

1、首先创建网站:

 \


创建一个文件夹Handler,并添加一般处理程序Handler.ashx文件;在这里说一下ashx文件是什么。

.ashx 文件用于写web handler的。.ashx文件与.aspx文件类似,可以通过它来调用HttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程。其实就是带HTML和C#的混合文件。

.ashx文件适合产生供浏览器处理的、不需要回发处理的数据格式,例如用于生成动态图片、动态文本等内容。

2、编写网站Default.aspx


[php]
<body> 
    <form id="form1" runat="server"> 
    <div> 
        <asp:TextBox ID="txtValidCode" runat="server"></asp:TextBox> 
        <asp:Image ID="Image1" runat="server" AlternateText="验证码图片" Height="22px"  
            ImageUrl="~/Handler/Handler.ashx" Width="70px" /> 
     
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"  
            ControlToValidate="txtValidCode" ErrorMessage="*" ForeColor="#FF3300"></asp:RequiredFieldValidator> 
        <br /> 
        <br /> 
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="提交" /> 
    </div> 
    </form> 
</body> 

<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="txtValidCode" runat="server"></asp:TextBox>
        <asp:Image ID="Image1" runat="server" AlternateText="验证码图片" Height="22px"
            ImageUrl="~/Handler/Handler.ashx" Width="70px" />
   
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
            ControlToValidate="txtValidCode" ErrorMessage="*" ForeColor="#FF3300"></asp:RequiredFieldValidator>
        <br />
        <br />
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="提交" />
    </div>
    </form>
</body>3、handler.ashx文件代码内容:


[csharp]
<%@ WebHandler Language="C#" Class="Handler" %> 
 
using System; 
using System.Web; 
using System.Text; 
using System.Drawing; 
using System.Drawing.Drawing2D; 
using System.Drawing.Imaging; 
using System.Web.SessionState; 
//IRequiresSessionState必须加上这个接口,否则对绘画没有访问权限  
public class Handler : IHttpHandler,IRequiresSessionState { 
    //处理程序默认方法,固定的,context上下文   
    public void ProcessRequest (HttpContext context) { 
        string strValidCode; 
        // 产生5位随机字符  
        strValidCode = this.GetValidCode(5);     
        //将字符串保存到Session中,以便需要时进行验证                                                   
        context.Session["ValidCode"] = strValidCode; 
        //定义宽120像素,高30像素的数据定义的图像对象                                             
        Bitmap image = new Bitmap(120, 30); 
        //绘制图片                                  
        Graphics g = Graphics.FromImage(image);                                                  
        try 
        { 
            //生成随机对象  
            Random random = new Random(); 
            //清除图片背景色                                                      
            g.Clear(Color.White); 
            // 随机产生图片的背景噪线                                                          
            for (int i = 0; i < 25; i++)                                                         
 &nb

补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,