• 用ajax技术实现 无刷新实现用户登录


    代码如下:

    // JScript 文件
    function usersLogon()
    {
        var userName = document.getElementById("txtuserName").value;
        var password = document.getElementById("txtpassword").value;
        var checkCode = document.getElementById("txtCheckCode").value;

        var response = userControl_logon.CheckCodeIsRight(checkCode).value;

        if(userName == "")
        {
            document.getElementById("txtuserName").focus();
            return false;
        }
        else if(password == "")
        {
            document.getElementById("txtpassword").focus();
            return false;
        }
        else if(checkCode =="")
        {
            document.getElementById("txtCheckCode").focus();
            return false;
        }
        else
        {
            if(response == true)
            {
                //判断用户是否存在
                userControl_logon.userNameAndPasswordIsExist(userName,password,userNameIsRight);
            }
            else
            {
                alert("验证码出错");
                userControl_logon.checkCodeOperaotr(refreshCheckCode);
                document.getElementById("txtpassword").value = "";
            }
        }    
    }
    function userNameIsRight(res)
    {
        var userName = document.getElementById("txtuserName").value;
        if(res.value == true)
        {
            //用户存在,但要看此用户有没有进入管理留言版权限,
            userControl_logon.userNameIsRight(userName,CallBack);
        }
        else
        {
            alert("用户名或密码错误");
            document.getElementById("txtpassword").value = "";
            OnLoad_checkCode();
        }
    }
    function CallBack(res)
    {
        if(res.value == true)
        {
            hideLogon();
            var url = userControl_logon.returnUrl();
            if ( url.value == 404)
            {
                showDefault();
            }
            else
            {
                document.getElementById("Url").innerHTML = '<a href="' + url.value + '">' + url.value + '</a>'
            }
        }
        else
        {
            alert("对不起你的权限不够");
            document.getElementById("txtpassword").value = "";
            OnLoad_checkCode();
        }
    }
    //隐藏登录框
    function hideLogon()
    {
        var element = document.getElementById("hideLogon")
        element.style.display = "none"
        
    }
    //显示返回首页
    function showDefault()
    {
        var element = document.getElementById("Returndefault")
        element.style.display = "block"  
    }
    function OnLoad_checkCode()
    {
        userControl_logon.checkCodeOperaotr(refreshCheckCode);
        document.getElementById("txtuserName").focus();
        //    return false;
    }
    ///重新得到新的验证吗
    function refreshCheckCode(res)

        document.getElementById("txtCheckCode").value = "";
        document.getElementById("lblNumber").innerHTML = res.value;
    }
    function abce()
    {
        alert(document.getElementById("lblNumber").value)
    }

    下而后面代码

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Drawing;
    using LHB_SQL_2005;

    public partial class userControl_logon : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                AjaxPro.Utility.RegisterTypeForAjax(typeof(userControl_logon));
            }
        }

        [AjaxPro.AjaxMethod]
        public static  string checkCodeOperaotr()
        {
            string _checkCode = GeneralMethod.GenerateCheckCode();
            System.Web.HttpContext.Current.Session["checkCode"] = _checkCode;
            //返回验证码
            return _checkCode;
        }

        /// <summary>
        /// 判断验证是否正确
        /// </summary>
        /// <param name="checkCode"></param>
        /// <returns></returns>
        [AjaxPro.AjaxMethod]
        public static bool CheckCodeIsRight(string checkCode)
        {
            string _checkCode = (string)(System.Web.HttpContext.Current.Session["checkCode"]); 
            if (_checkCode == checkCode)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        /// <summary>
        /// 判断用户名及密码添加是否正确
        /// </summary>
        /// <param name="userName">用户名</param>
        /// <param name="_password">用户名密码</param>
        /// <returns>bool</returns>
        [AjaxPro.AjaxMethod]
        public static bool userNameAndPasswordIsExist(string userName, string _password)
        {
            string password = GeneralMethod.ToEncryptPassword(_password);
            string executeString = "SELECT COUNT(*) FROM users WHERE userName = '" + userName.ToString() + "' AND password = '" + password + "'";
            int count = int.Parse(GetCommand.ExecuteScalar(executeString));
            if (count == 1)
            {
                System.Web.HttpContext.Current.Session["userName"] = userName;
                return true;
            }
            else
            {
                return false;
            }
        }

        /// <summary>
        /// 判断用户是不是有这进入管理留言版的权限
        /// </summary>
        /// <param name="userName">用户名</param>
        /// <returns></returns>
        [AjaxPro.AjaxMethod]
        public static bool userNameIsRight(string userName)
        {
            string executeString = "SELECT [right] FROM role WHERE usersId = (select userNameId from users where userName = '" + userName + "')";
            int count = int.Parse(GetCommand.ExecuteScalar(executeString));
            if (count > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        /// <summary>
        /// 返回Url值
        /// </summary>
        /// <returns></returns>
        [AjaxPro.AjaxMethod]
        public static string returnUrl()
        {
            string url = "";
            try
            {
                url = System.Web.HttpContext.Current.Session["url"].ToString();
            }
            catch
            {
                url ="404";
            }
            return url;
        }
    }

    下面是页面代码

    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="logon.ascx.cs" Inherits="userControl_logon" %>
    <script language="javascript" type="text/javascript" src="../JavaScript/logon.js">
    </script>
    <script language="javascript" type="text/javascript" src="JavaScript/logon.js">
    </script>
    <link href="../CSS/table_css.css" rel="stylesheet" type="text/css" />
    <link href="CSS/table_css.css" rel="stylesheet" type="text/css" />
    <body onload="OnLoad_checkCode();">
    <div>
    <table border="0" cellpadding="0" cellspacing="0">
            <tr>
                <td>
                    <table id="hideLogon" border="0" cellpadding="0" cellspacing="0" style="display:block;">
                        <tr>
                            <td style="#99ccff">用户名:</td>
                            <td><input type="text" id="txtuserName" style=" 105px" /></td>
                        </tr>
                        <tr>
                            <td style="#99ccff">密  码:</td>
                            <td>
                                <input id="txtpassword" type="password" style=" 105px" /></td>
                        </tr>
                        <tr>
                            <td style="#99ccff">验证码:</td>
                            <td style="#99ccff">
                                <input type= "text" id="txtCheckCode" style=" 60px" /><label id="lblNumber"></label></td>
                        </tr>
                        <tr>
                            <td style="#99ccff"></td>
                            <td style="#99ccff">
                                <input type="button" onclick="usersLogon();" value="登录" id="btnLogon" /></td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td >
                   <div id="Url"></div>
                </td>
            </tr>
            <tr>
                <td align="center">
                    <table id="Returndefault" border="0" cellpadding="0" cellspacing="0" style="display:none;">
                        <tr>
                            <td>
                                <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Default.aspx">返回首页</asp:HyperLink></td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </div>
    </body>

  • 相关阅读:
    Python3之redis使用
    python3中urllib的基本使用
    最安全的api接口认证
    Python—I/O多路复用
    Python—RabbitMQ
    Python—sqlalchemy
    python操作MongoDB
    Python—进程、线程、协程
    推断client手机类型,并跳转到对应的app下载页面
    ExtJs--13-- Ext.apply(src,apply) 和 Ext.applyIf(src,apply) 两个方法的使用和差别比較
  • 原文地址:https://www.cnblogs.com/fgtt/p/6373734.html
Copyright © 2020-2023  润新知