基于Ajax技术实现无刷新用户登录功能
代码如下:
//JScript文件
functionusersLogon()
{
varuserName=document.getElementById("txtuserName").value;
varpassword=document.getElementById("txtpassword").value;
varcheckCode=document.getElementById("txtCheckCode").value;
varresponse=userControl_logon.CheckCodeIsRight(checkCode).value;
if(userName=="")
{
document.getElementById("txtuserName").focus();
returnfalse;
}
elseif(password=="")
{
document.getElementById("txtpassword").focus();
returnfalse;
}
elseif(checkCode=="")
{
document.getElementById("txtCheckCode").focus();
returnfalse;
}
else
{
if(response==true)
{
//判断用户是否存在
userControl_logon.userNameAndPasswordIsExist(userName,password,userNameIsRight);
}
else
{
alert("验证码出错");
userControl_logon.checkCodeOperaotr(refreshCheckCode);
document.getElementById("txtpassword").value="";
}
}
}
functionuserNameIsRight(res)
{
varuserName=document.getElementById("txtuserName").value;
if(res.value==true)
{
//用户存在,但要看此用户有没有进入管理留言版权限,
userControl_logon.userNameIsRight(userName,CallBack);
}
else
{
alert("用户名或密码错误");
document.getElementById("txtpassword").value="";
OnLoad_checkCode();
}
}
functionCallBack(res)
{
if(res.value==true)
{
hideLogon();
varurl=userControl_logon.returnUrl();
if(url.value==404)
{
showDefault();
}
else
{
document.getElementById("Url").innerHTML='<ahref="'+url.value+'">'+url.value+'</a>'
}
}
else
{
alert("对不起你的权限不够");
document.getElementById("txtpassword").value="";
OnLoad_checkCode();
}
}
//隐藏登录框
functionhideLogon()
{
varelement=document.getElementById("hideLogon")
element.style.display="none"
}
//显示返回首页
functionshowDefault()
{
varelement=document.getElementById("Returndefault")
element.style.display="block"
}
functionOnLoad_checkCode()
{
userControl_logon.checkCodeOperaotr(refreshCheckCode);
document.getElementById("txtuserName").focus();
//returnfalse;
}
///重新得到新的验证吗
functionrefreshCheckCode(res)
{
document.getElementById("txtCheckCode").value="";
document.getElementById("lblNumber").innerHTML=res.value;
}
functionabce()
{
alert(document.getElementById("lblNumber").value)
}
下面代码
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Drawing;
usingLHB_SQL_2005;
publicpartialclassuserControl_logon:System.Web.UI.UserControl
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!this.IsPostBack)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(userControl_logon));
}
}
[AjaxPro.AjaxMethod]
publicstaticstringcheckCodeOperaotr()
{
string_checkCode=GeneralMethod.GenerateCheckCode();
System.Web.HttpContext.Current.Session["checkCode"]=_checkCode;
//返回验证码
return_checkCode;
}
///<summary>
///判断验证是否正确
///</summary>
///<paramname="checkCode"></param>
///<returns></returns>
[AjaxPro.AjaxMethod]
publicstaticboolCheckCodeIsRight(stringcheckCode)
{
string_checkCode=(string)(System.Web.HttpContext.Current.Session["checkCode"]);
if(_checkCode==checkCode)
{
returntrue;
}
else
{
returnfalse;
}
}
///<summary>
///判断用户名及密码添加是否正确
///</summary>
///<paramname="userName">用户名</param>
///<paramname="_password">用户名密码</param>
///<returns>bool</returns>
[AjaxPro.AjaxMethod]
publicstaticbooluserNameAndPasswordIsExist(stringuserName,string_password)
{
stringpassword=GeneralMethod.ToEncryptPassword(_password);
stringexecuteString="SELECTCOUNT(*)FROMusersWHEREuserName='"+userName.ToString()+"'ANDpassword='"+password+"'";
intcount=int.Parse(GetCommand.ExecuteScalar(executeString));
if(count==1)
{
System.Web.HttpContext.Current.Session["userName"]=userName;
returntrue;
}
else
{
returnfalse;
}
}
///<summary>
///判断用户是不是有这进入管理留言版的权限
///</summary>
///<paramname="userName">用户名</param>
///<returns></returns>
[AjaxPro.AjaxMethod]
publicstaticbooluserNameIsRight(stringuserName)
{
stringexecuteString="SELECT[right]FROMroleWHEREusersId=(selectuserNameIdfromuserswhereuserName='"+userName+"')";
intcount=int.Parse(GetCommand.ExecuteScalar(executeString));
if(count>0)
{
returntrue;
}
else
{
returnfalse;
}
}
///<summary>
///返回Url值
///</summary>
///<returns></returns>
[AjaxPro.AjaxMethod]
publicstaticstringreturnUrl()
{
stringurl="";
try
{
url=System.Web.HttpContext.Current.Session["url"].ToString();
}
catch
{
url="404";
}
returnurl;
}
}
下面是页面代码
<%@ControlLanguage="C#"AutoEventWireup="true"CodeFile="logon.ascx.cs"Inherits="userControl_logon"%> <scriptlanguage="javascript"type="text/javascript"src="../JavaScript/logon.js"> </script> <scriptlanguage="javascript"type="text/javascript"src="JavaScript/logon.js"> </script> <linkhref="../CSS/table_css.css"rel="stylesheet"type="text/css"/> <linkhref="CSS/table_css.css"rel="stylesheet"type="text/css"/> <bodyonload="OnLoad_checkCode();"> <div> <tableborder="0"cellpadding="0"cellspacing="0"> <tr> <td> <tableid="hideLogon"border="0"cellpadding="0"cellspacing="0"style="display:block;"> <tr> <tdstyle="background-color:#99ccff">用户名:</td> <td><inputtype="text"id="txtuserName"style="width:105px"/></td> </tr> <tr> <tdstyle="background-color:#99ccff">密码:</td> <td> <inputid="txtpassword"type="password"style="width:105px"/></td> </tr> <tr> <tdstyle="background-color:#99ccff">验证码:</td> <tdstyle="background-color:#99ccff"> <inputtype="text"id="txtCheckCode"style="width:60px"/><labelid="lblNumber"></label></td> </tr> <tr> <tdstyle="background-color:#99ccff"></td> <tdstyle="background-color:#99ccff"> <inputtype="button"onclick="usersLogon();"value="登录"id="btnLogon"/></td> </tr> </table> </td> </tr> <tr> <td> <divid="Url"></div> </td> </tr> <tr> <tdalign="center"> <tableid="Returndefault"border="0"cellpadding="0"cellspacing="0"style="display:none;"> <tr> <td> <asp:HyperLinkID="HyperLink1"runat="server"NavigateUrl="~/Default.aspx">返回首页</asp:HyperLink></td> </tr> </table> </td> </tr> </table> </div> </body>
以上所述是小编给大家介绍的基于Ajax技术实现无刷新用户登录功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!