论坛首页 编程语言技术论坛

基于Asp.net mvc preview 4的图形验证码程序

浏览 4896 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-08-27  

本代码改自Nick Berardi的代码 ,Nick Berardi原版的代码是基于asp.net mvc preview2的,而且安全性和功能上都有问题,目前修改出的版本封装的也不是很好,但用起来也不算麻烦,希望能对有需要的朋友有些帮助,具体代码和演示见附件。

 

使用

1.controller:

        public ActionResult Index()
        {
            return View();
        }
        [CaptchaValidation("captcha")]
        public ActionResult Test(bool? captchaValid)
        {
            if (captchaValid == false)
            {
                ViewData["Message"] = "验证码输入有误";
            }
            else
            {
                ViewData["Message"] = "提交正确";
                //执行完毕务必清理验证码缓存。
                CaptchaImageHelper.RemoveCurrentCapcha(this.HttpContext);
            }
            return View();
        }

 2.view

    <form method='post' action='<%=new UrlHelper(ViewContext).Action("Test", "Home")%>'>
        <% string guid = System.Guid.NewGuid().ToString("N"); %>
        <%= Html.CaptchaImage(guid, "captcha-image1", 40, 140)%>
        <%= Html.CaptchaTextBox("captcha")%>
        <a href="#" onclick="reloadCaptchaImage();return false;">看不清,换一张</a>
        <script language="javascript">            
            var captchaImageSrc = null;
            function reloadCaptchaImage() {
                img = document.getElementById('captcha-image1');
                if (captchaImageSrc == null) captchaImageSrc = img.src;
                img.src = captchaImageSrc + "&" + (new Date()).getTime();
            }
        </script>
        <input type="submit" name="submit" value="提交" />
    </form>
 

 

 

   发表时间:2008-08-30  
看了一下,感觉还很好用,准备裁剪后引入验证。

辛苦,谢谢。
0 请登录后投票
   发表时间:2008-10-15  
asp.net mvc逐渐成气候了,不过现在还没有最终定型,建议不要用到产品中去。
0 请登录后投票
   发表时间:2008-10-16  
今天刚刚看到消息,beta版出来啦。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics