基于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技术实现无刷新用户登录功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!