• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Asp.net验证码实现的方法,简单实用。

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

随便建个aspx页面,前台不需任何处理,后台代码如下:

 Default2 : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

         
string checkCode = CreateRandomCode(4);

          Session[
"CheckCode"= checkCode;

          CreateImage(checkCode);

    }

     
private string CreateRandomCode(int codeCount)

    {


        
// 函数功能:产生数字和字符混合的随机字符串

        
string allChar = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

        
char[] allCharArray = allChar.ToCharArray();

        
string randomCode = "";

        Random rand 
= new Random();

        
for (int i = 0; i < codeCount; i++)

        {

           
int r=rand.Next(61);

           randomCode
+=allCharArray.GetValue(r);

        }

         
return randomCode;

        

     }

         


    
private void CreateImage(string checkCode)

    {


        
// 生成图象验证码函数

       
int iwidth = (int)(checkCode.Length * 11.5);

        System.Drawing.Bitmap image 
= new System.Drawing.Bitmap(iwidth, 20);

        Graphics g 
= Graphics.FromImage(image);

        Font f 
= new System.Drawing.Font("Arial"10, System.Drawing.FontStyle.Bold);

        Brush b 
= new System.Drawing.SolidBrush(Color.Azure);//字母白色

        
//g.FillRectangle(new System.Drawing.SolidBrush(Color.Blue),0,0,image.Width, image.Height);

        g.Clear(Color.Brown);
//背景灰色

        g.DrawString(checkCode, f, b, 
33);


        Pen blackPen 
= new Pen(Color.Black, 0);

        Random rand 
= new Random();

        System.IO.MemoryStream ms 
= new System.IO.MemoryStream();

        image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

        Response.ClearContent();

        Response.ContentType 
= "image/Jpeg";

        Response.BinaryWrite(ms.ToArray());

        g.Dispose();

        image.Dispose();

    }

}

 

用个Image控件ImageURL绑定这个aspx文件就ok啦,很简单,实用。代码相应的可以修改。

如果想实现无刷新的更换验证图片 

在页面中加个脚本
function aa()
{
var x=document.getElementById(image1);
x.setAttribute('src','CheckCode.aspx?'+Math.random());
}
<img >看不清楚</a>
这样应该就可以了。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
开发asp.net自定义控件(asp.net学习笔记一)发布时间:2022-07-10
下一篇:
ASP.NETWebService如何工作(1)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap