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 ,