1. 程式人生 > >ASP.NET 驗證碼外掛 Webvalidates的使用

ASP.NET 驗證碼外掛 Webvalidates的使用

這Webvalidates.dll一般網上有下載,是一個 工具箱的外掛,放進去 就可以使用。


使用的時候 可以直接拖出來,也可以直接上程式碼:

Register指令:

<%@ Register Assembly="WebValidates" Namespace="WebValidates" TagPrefix="cc1" %>

驗證碼控制元件:
 <cc1:SerialNumber ID="SerialNumber1" runat="server"></cc1:SerialNumber><BR />

具體API,要根據這個外掛而定。

Create()是生成(顯示)

CheckSN()是檢查驗證碼是否與輸入一直。

具體程式碼實現。

 protected void Page_Load(object sender, EventArgs e)
        {
            //如果不是回傳 就生成驗證碼
            if (!IsPostBack)
            {
                //生成驗證碼
                this.SerialNumber1.Create();
            }
        }
  protected void Unnamed_Click(object sender, EventArgs e)
        {
            //如果驗證碼填寫正確
            if (this.SerialNumber1.CheckSN(this.validate.Text)==true)
            {
                //例項化 bll
                UserBLL bll = new UserBLL();
                //例項化user
                UserInfo user = new UserInfo();
                user.Address = address.Text;
                user.Email = email.Text;
                user.Name = uname.Text;
                user.Phone = phone.Text;
                user.Tname = name.Text;
                user.Pwd = pwd1.Text;
                //驗證碼成功!
                if (bll.UserIsExists(user) == 1)
                {
                    //彈出提示,並且 跳轉回去
                    Response.Write("<script>alert(\"這個使用者已存在!\");location.href=\"reg.aspx\";</script>");
                    //Response.End 結束當前頁面的 執行!(注意)
                    Response.End();
                }
                if (pwd1.Text == "" || pwd2.Text == "" || name.Text == "" || uname.Text == "")
                {
                    Response.Write("<script>alert(\"使用者名稱,密碼,真實姓名必填!\");location.href=\"reg.aspx\";</script>");
                    Response.End();
                }
                //兩次密碼不等
                if (pwd1.Text != pwd2.Text)
                {
                    Response.Write("<script>alert(\"兩次密碼不一致!\");location.href=\"reg.aspx\";</script>");
                    Response.End();
                }
                //註冊
               int re= bll.Reg(user);
                //註冊是否成功
                if (re == 1)
                {
                    Response.Write("<script>alert(\"註冊成功!\");location.href=\"reg.aspx\";</script>");
                }
                else {
                    Response.Write("<script>alert(\"註冊失敗!\");location.href=\"reg.aspx\";</script>");
                }
               //
            }
            else {
                //驗證碼錯誤 就重新生成
                this.SerialNumber1.Create();
                Response.Write("<script>alert(\"驗證碼錯誤,請重試!\");location.href=\"reg.aspx\";</script>");
            }
        }
(要注意Load事件回傳的問題,回傳時,不重新生成驗證碼)
由於時間原因,前臺程式碼並沒有給完。

上效果圖: