主頁(yè) > 知識(shí)庫(kù) > 基于Ajax技術(shù)實(shí)現(xiàn)無刷新用戶登錄功能

基于Ajax技術(shù)實(shí)現(xiàn)無刷新用戶登錄功能

熱門標(biāo)簽:Linux服務(wù)器 銀行業(yè)務(wù) 阿里云 服務(wù)器配置 團(tuán)購(gòu)網(wǎng)站 電子圍欄 科大訊飛語(yǔ)音識(shí)別系統(tǒng) Mysql連接數(shù)設(shè)置

代碼如下:

// 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("驗(yàn)證碼出錯(cuò)");
      userControl_logon.checkCodeOperaotr(refreshCheckCode);
      document.getElementById("txtpassword").value = "";
    }
  }  
}
function userNameIsRight(res)
{
  var userName = document.getElementById("txtuserName").value;
  if(res.value == true)
  {
    //用戶存在,但要看此用戶有沒有進(jìn)入管理留言版權(quán)限,
    userControl_logon.userNameIsRight(userName,CallBack);
  }
  else
  {
    alert("用戶名或密碼錯(cuò)誤");
    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("對(duì)不起你的權(quán)限不夠");
    document.getElementById("txtpassword").value = "";
    OnLoad_checkCode();
  }
}
//隱藏登錄框
function hideLogon()
{
  var element = document.getElementById("hideLogon")
  element.style.display = "none"
  
}
//顯示返回首頁(yè)
function showDefault()
{
  var element = document.getElementById("Returndefault")
  element.style.display = "block" 
}
function OnLoad_checkCode()
{
  userControl_logon.checkCodeOperaotr(refreshCheckCode);
  document.getElementById("txtuserName").focus();
  //  return false;
}
///重新得到新的驗(yàn)證嗎
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;
    //返回驗(yàn)證碼
    return _checkCode;
  }

  /// summary>
  /// 判斷驗(yàn)證是否正確
  /// /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>
  /// 判斷用戶是不是有這進(jìn)入管理留言版的權(quán)限
  /// /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;
  }
}

下面是頁(yè)面代碼

%@ 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">驗(yàn)證碼:/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">返回首頁(yè)/asp:HyperLink>/td>
          /tr>
        /table>
      /td>
    /tr>
  /table>
/div>
/body>

以上所述是小編給大家介紹的基于Ajax技術(shù)實(shí)現(xiàn)無刷新用戶登錄功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • asp.net+jquery ajax無刷新登錄的實(shí)現(xiàn)方法
  • 菜鳥蔡之Ajax復(fù)習(xí)第三篇(Ajax之無刷新登錄)
  • 基于jquery ajax 用戶無刷新登錄方法詳解

標(biāo)簽:棗莊 衢州 衡水 廣元 江蘇 大理 蚌埠 萍鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于Ajax技術(shù)實(shí)現(xiàn)無刷新用戶登錄功能》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266