zoukankan      html  css  js  c++  java
  • .NET下的验证码控件John.Controls.ValidateCode2V for .NET beta1

    预告下一个作品是选项卡John.Controls.TabularMultiView for .NET(难产ing,由于最近要处理的事情很多,身体上也有点不支,发布时间推迟)


    注册了帐号好几久,都没发过一点东西,今天发个,.NET环境下的验证码控件for web form。

     (效果图)
    John.Controls.ValidateCode2V for .NET 1.1 beta1 (←点击下载)
    John.Controls.ValidateCode2V for .NET 2.0 beta1 (←点击下载)

    先发个试用版本,虽说是试用,但也没任何限制,只是for .NET 1.1的版本中
     1public string Code
     2        {
     3            get
     4            {
     5                string text = (string)this.ViewState["Code"];
     6                if (text != null)
     7                {
     8                    return text;
     9                }

    10                return string.Empty;
    11            }

    12            private set
    13            {
    14                this.ViewState["Code"= value;
    15            }

    16        }

    不支持private set,还望各位达人指点。源代码就懒得发了,包没加密也没混淆,用Reflector看比看我的代码都清晰。

    使用方法,把John.Controls.ValidateCode2V.dll文件放到网站项目的bin文件夹中,对其添加引用(至于如何添加大家可以baidu/google),然后在工具栏的地方右键“选择项”,点“浏览”选择刚刚放在bin文件夹的John.Controls.ValidateCode2V.dll文件既可像普通控件一样使用。

    下面是拉到页面后生成的代码
    <JohnControls:ValidateCode ID="ValidateCode1" runat="server" />

    用的不是Cooike也不是Session保存生成的验证码,而用了ViewState,个人感觉这样更加符合.NET的编程风格。
    因为用的是事件触发机制,所以在页面cs文件里的Page_Load事件添加以下代码。
    protected void Page_Load(object sender, EventArgs e)
            
    {
                
    if (!IsPostBack)
                
    {
                    ValidateCode1.ChangeCode();
                }

            }

    运行前请在根目录处新建一个temp的文件夹供放临时文件用,temp是默认的,可以通过设置控件的ImageURLPath属性改变文件夹名。
  • 相关阅读:
    第二十三篇 函数的调用和函数参数的应用
    第二十四篇 可变长参数
    第二十二篇 定义函数的三种形式以及函数的返回值
    <面试题>面试题整理(1-100)
    算法通关面试40讲
    <Django>部署项目
    <Django>天天生鲜项目(三)
    <Django>天天生鲜项目(三)
    <Django>天天生鲜项目(二)
    <mysql>mysql日志文件
  • 原文地址:https://www.cnblogs.com/matong/p/780013.html
Copyright © 2011-2022 走看看