- 热门文章:
- · 在ASP.NET下实现数字和字符相混合的验证码(vb.net Code)
- · 大数据量下的分页
- · 让Asp.NET的DataGrid可排序、可选择、可分页
- · 利用ASP.NET DataGrid显示主次关系的数据
- · 如何使用PagedDataSource來做DataRepeater的分頁的效果
- · ASP .NET 中的身份验证:.NET 安全性指导
- · 在Asp.Net中从sqlserver检索(retrieve)图片
- · 如何在ASP.Net 中把图片存入数据库
- · 在两个ASP.NET页面之间传递值
- · 用ASP.NET构建完整E-mail发送系统
- · 用ASP.NET开发Web服务的五则技巧
- · 在两个ASP.NET页面之间传递值
上一篇:Henry手记 - Datagrid键盘事件响应(一) >>
在ASP.NET下实现数字和字符相混合的验证码(C# Code)
gif.aspx文件修改的内容
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
// RndNum是一个自定义函数
string VNum = RndNum(5);
Session["VNum"] = VNum;
ValidateCode(VNum);
}
private void ValidateCode(string VNum)
{
//生成验证code
System.Drawing.Bitmap img;
System.Drawing.Graphics g;
System.IO.MemoryStream ms;
int gheight = Convert.ToInt32(VNum.Length*11.5);
//gheight为图片宽度,根据字符长度自动更改图片宽度
img = new Bitmap(gheight,20);
g = Graphics.FromImage(img);
//在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y)
g.DrawString(VNum,new Font("Arial",10),new SolidBrush(System.Drawing.Color.Blue),3,3);
ms = new MemoryStream();
img.Save(ms,ImageFormat.Png);
Response.ClearContent(); //需要输出图象信息 要修改HTTP头
Response.ContentType = "image/gif";
Response.BinaryWrite(ms.ToArray());
g.Dispose();
img.Dispose();
Response.End();
}
// @#函数名称:RndNum
// @#函数参数:VcodeNum--设定返回随机字符串的位数
// @#函数功能:产生数字和字符混合的随机字符串
private string RndNum(int VcodeNum)
{
string Vchar = "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" ;
string[] VcArray = Vchar.Split(",".ToCharArray()); //将字符串生成数组
string VNum = "";
int i;
for(i=1;i<VcodeNum;i++)
{
System.Random ro = new Random();
double decA = ro.NextDouble();
VNum = VNum + VcArray[Convert.ToInt32(35*decA)];
}
// For i=1 to VcodeNum
// Randomize
// VNum=VNum & VcArray(Int(35*Rnd)) @#数组一般从0开始读取,所以这里为35*Rnd
// Next
return VNum;
}
ValidateCode.aspx修改内容
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string VNum;
if(Session["VNum"]!= null)
{
VNum = Session["VNum"].ToString();
Session.Abandon();
ViewState["VNum"]=VNum;
}
}
private void Button1_Click(object sender, System.EventArgs e)
{
if(txtValidateCode.Text == ViewState["VNum"].ToString() )
{
lblShow.Text="提示:验证通过" ;
}
else
{
lblShow.Text="所填写的验证码与所给的不符";
}
}
相关文章:
- · 用DataReader还是DataSet?
- · 使用Mobile控件
- · 用javascript解决ASP.NET服务器控件造成的刷新问题
- · ASP.NET相关问题14问
- · ASP.NET中水晶报表的使用
- · ASP.NET编程中的十大技巧
- · 浅谈在ASP.NET中数据有效性校验的方法
- · 一个文件上传的类
- · ASP.NET中使用Caching
- · ASP.NET里的事务处理
- · ASP.NET中在线用户统计
- · 在ASP.net中使用OWC绘制统计图表
- · ASP.NET四种页面导航方式之比较与选择
- · 浅谈 XmlReader
- · 动态的管理ASP.NET DataGrid数据列
- · ASP.NET中的ViewState
- · asp.net上传图片并同时生成缩略图
- · ASP+全新接触(3) {转}
- · ASP+全新接触(4) {转}
- · 在ASP+ 中我们如何使用 Class 而不是组件
- · ASP+配置 — ASP+配置概念(一)
- · ASP+配置 — ASP+配置概念(二)
- · ASP+配置 — ASP+配置概念(三)
- · .NET编程中使用旧有的COM组件
- · ASP+ 学习笔记 5
- · asp+中文教程(四)-- 服务器端控制(二)
- · 什么是ASP+?(二)<转><译>
- · 什么是ASP+?(三)<转><译>
- · asp+ 输入检查(e 文,转)
- · ASP+ 学习笔记 3
- · asp+中文教程(一)---- -asp+简介、安装、以及如何显示中文
- · asp+中文教程(二)---- Asp+ Web Forms
- · asp+中文教程(三)-- 服务器端控制(一)
- · ASP+ 学习笔记 4
- · ASP+ 学习笔记 2
- · 今日读 asp.net 心得 ---- 比较意识流,神经衰弱勿进
- · 用ASP.NET动态生成图像(转1)
- · Uploading Images to a Database - Part I (转)
