虚位以待(AD)
虚位以待(AD)
首页 > 网络编程 > AJAX相关 > 基于Ajax技术实现无刷新用户登录功能

基于Ajax技术实现无刷新用户登录功能
类别:AJAX相关   作者:码皇   来源:互联网   点击:

这篇文章主要介绍了基于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="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>

以上所述是小编给大家介绍的基于Ajax技术实现无刷新用户登录功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关热词搜索: ajax实现无刷新登录 ajax实现用户登录