ASP.net中的验证码实现全过程
1.新建一个页面A.aspx,作为制作验证码的实现页 代码如下
Protected ovid Page_Load(object sender,EventArgs e )
{
string path=Server.MapPath("../image/code.jpg");
System.Drawing.Image image=System.Drawing.Image.FromFile( path );
//在图片场景中创建绘图对象Graphics
Graphics g=Graphics.FromImage( image );
Font font =new Font( "宋体" , 20 , FontStyle.Italic ) ;
SolidBrush brush =new SolidBrush( Color.Blue );
PointF pf = new PointF( 2f , 2f );
string str=GetString( 4 );
//将随即生成的验证码保存在Session中,方便在需要验证码的页面来验证
Session["SN"] = str ;
g.DrawString( str , font , brush , pf );
//通常我们利用Response的响应流来达到不同的数据请求目的
image.Save( ReSpone.OutputStream , System.Drawing.Imaging.ImageFormat.JPG ) ;
g.Dispose();
image.Dispose();
ReSponse.End();
}
//下面方法为随机生成验证码
Protected void GetString( int num )
{
string str="";
string[] strarray={ "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "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", "V", "W", "X", "Y", "Z" };
Random r= new Random();
for( int i=0 ; i<num ; i++)
{
str+= strarray[ r.Next( strarray.Length ) ] ;
}
return str;
}
2. 在验证页面中 加一个Image 控件 和一个Html 按钮 控件( 设置其为LinkButton样式 )
a.实现显示验证码 :
在Image 控件属性中 设置其 ImageUrl = "A.aspx" ; //(也就是上面的实现验证码页)
b.实现HTMl 按钮局部刷新 验证码
。 设置HTMl 按钮样式 其VALue=“看不清换一张"
。在前台页面代码</head>前加如下代码
<script type="txtt/javascript">
function Look()
{
document.GetElementById("Image1").src=' A.aspx?' +Math.random() ;
}
</script>
。在HTml 按钮中加如下 黄色部份代码
<input id=" Button1" onclick="Look()" ……>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!