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

3 篇文章 0 订阅
3 篇文章 0 订阅

代码如下:

//  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 ="background-color: #99ccff" >用户名: </ td >
                         < td >< input  type ="text"  id ="txtuserName"  style ="width: 105px"   /></ td >
                     </ tr >
                     < tr >
                         < td  style ="background-color: #99ccff" >密  码: </ td >
                         < td >
                             < input  id ="txtpassword"  type ="password"  style ="width: 105px"   /></ td >
                     </ tr >
                     < tr >
                         < td  style ="background-color: #99ccff" >验证码: </ td >
                         < td  style ="background-color: #99ccff" >
                             < input  type = "text"  id ="txtCheckCode"  style =" width:60px"   />< label  id ="lblNumber" ></ label ></ td >
                     </ tr >
                     < tr >
                         < td  style ="background-color: #99ccff" ></ td >
                         < td  style ="background-color: #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 >
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值