码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET 一个页上需要显示多个验证码

时间:2017-02-21 15:23:08      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:str   get   页面   content   后台   success   pre   logs   定义   

1、后台获取验证字节流,以字符串的形式返回到前端。

        public ActionResult GetValidateGraphic()
        {
            var validate = new ValidateCode();
            var code = validate.CreateValidateCode(4);
            var image = validate.CreateValidateGraphic(code);
            Session["ValidateCode"] = code;//验证码添加到Session 
            return Content(Convert.ToBase64String(image));
        }

 

2、前台用ajax获取

    ChangeValidateCode: function () {
        $.ajax({
            async: false,
            url: "/Login/GetValidateGraphic",
            success: function (data) {
                $(‘#yxValidateCode‘).attr(‘src‘, ‘data:image/png;base64,‘ + data);
                $(‘#bqfValidateCode‘).attr(‘src‘, ‘data:image/png;base64,‘ + data);
                $(‘#glValidateCode‘).attr(‘src‘, ‘data:image/png;base64,‘ + data);
            }
        });
    }

 

这样页面上就可以显示多个相同的验证码了。

 

那么这是什么呢?这是Data URI scheme。URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入。

我们可以直接将图片写入到html文件中,这样可以节省一个图片的请求,缺点是浏览器无法缓存此图片。

 

ASP.NET 一个页上需要显示多个验证码

标签:str   get   页面   content   后台   success   pre   logs   定义   

原文地址:http://www.cnblogs.com/beijing2020/p/6424046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!