全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

基于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实现用户登录  # asp.net+jquery ajax无刷新登录的实现方法  # 菜鸟蔡之Ajax复习第三篇(Ajax之无刷新登录)  # 基于jquery ajax 用户无刷新登录方法详解  # 验证码  # 首页  # 留言版  # 小编  # 是否正确  # 在此  # 给大家  # 要看  # 用户登录  # 所述  # 给我留言  # 到新  # 感谢大家  # 是否存在  # 疑问请  # 有任何  # Data  # Configuration  # System  # Security 


相关文章: 如何通过远程VPS快速搭建个人网站?  建站主机核心功能解析:服务器选择与网站搭建流程指南  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  教学论文网站制作软件有哪些,写论文用什么软件 ?  婚礼视频制作网站,学习*后期制作的网站有哪些?  在线制作视频的网站有哪些,电脑如何制作视频短片?  如何快速搭建个人网站并优化SEO?  山东网站制作公司有哪些,山东大源集团官网?  已有域名能否直接搭建网站?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  建站VPS配置与SEO优化指南:关键词排名提升策略  名字制作网站免费,所有小说网站的名字?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  开心动漫网站制作软件下载,十分开心动画为何停播?  如何在香港服务器上快速搭建免备案网站?  制作网站的公司有哪些,做一个公司网站要多少钱?  如何在香港免费服务器上快速搭建网站?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  定制建站方案优化指南:企业官网开发与建站费用解析  浅析上传头像示例及其注意事项  建站之星展会模版如何一键下载生成?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  简单实现Android验证码  如何在服务器上配置二级域名建站?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  如何选择PHP开源工具快速搭建网站?  网站代码制作软件有哪些,如何生成自己网站的代码?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  如何选择靠谱的建站公司加盟品牌?  建站之星免费模板:自助建站系统与智能响应式一键生成  如何正确下载安装西数主机建站助手?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  如何通过西部建站助手安装IIS服务器?  如何在景安云服务器上绑定域名并配置虚拟主机?  如何在建站主机中优化服务器配置?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  在线教育网站制作平台,山西立德教育官网?  如何将凡科建站内容保存为本地文件?  教学网站制作软件,学习*后期制作的网站有哪些?  常州企业网站制作公司,全国继续教育网怎么登录?  如何在腾讯云服务器快速搭建个人网站?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  如何通过VPS建站无需域名直接访问? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。