手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >asp.net jQuery Ajax用户登录功能的实现
asp.net jQuery Ajax用户登录功能的实现
摘要:主页面调用代码片段:复制代码代码如下:登录$('#').click(function(){jBox.open('iframe-jBoxID'...

主页面调用代码片段:

复制代码 代码如下:

<asp:HyperLink ID="lnkLogin" runat="server" NavigateUrl="#" >登录</asp:HyperLink>

<script language="javascript" type="text/javascript">

$('#<%=this.lnkLogin.ClientID %>').click(

function(){

jBox.open('iframe-jBoxID','iframe','Login.aspx','用户登录

','width=400,height=250,center=true,draggable=true,model=true');

} );

</script>

Login.aspx代码:

复制代码 代码如下:

<form id="form1" onsubmit="return false;">

<table id="login-table">

<tr>

<td width="60">学号:</td>

<td><input type="text" id="txtUserName"

maxlength="9" onblur="checkUserName()"/><span></span>

</td>

</tr>

<tr>

<td width="60">密码:</td>

<td><input type="password" id="txtUserPwd"

onblur="checkUserPwd()" /><span></span>

</td>

</tr>

<tr>

<td width="60">验证码:</td>

<td><input type="text" maxlength="5"

id="txtCheckCode" onblur="checkCheckCode()"/><span>

</span>

</td>

</tr>

<tr>

<td width="60"></td>

<td><div>输入下图中的字符,不区分大小写</div><br />

<img src="CheckCode.aspx" alt="验证码" id="imgCheckCode" />

<a href="#" id="change_image">看不清,换一张</a></td>

</tr>

<tr>

<td width="60"></td>

<td><input type="image" src="App_Themes/Images/btn_login.jpg" id="btnLogin"

alt="马上登录"/></td>

</tr>

</table>

</form>

jQuery代码:

复制代码 代码如下:

<script language="javascript" type="text/javascript" >

$(document).ready(function(){

// 验证码更新

$('#change_image').click(

function(){

$('#imgCheckCode').attr('src','CheckCode.aspx?'+Math.random());

});

//关键的代码

$("#btnLogin").click(function(){

if(checkUserName() && checkUserPwd() && checkCheckCode())

{

var data = {

UserName: $('#txtUserName').val(),

UserPwd: $('#txtUserPwd').val(),

CheckCode: $('#txtCheckCode').val()

};

//提交数据给Login.ashx页面处理

$.post("Ajax/Login.ashx",data,function(result){

if(result == "1") //登录成功

{

alert("登录成功!您可以进行其他操作了!");

// 关闭模拟窗口

window.parent.window.jBox.close();

}

else if(result == "2") //验证码错误

{

$('#txtCheckCode').next("span").css("color","red").text("*

验证码错误");

}

else

{

alert("登录失败!请重试");

}

});

}

else

{

checkUserName();

checkUserPwd();

checkCheckCode();

}

});

});

//check the userName

function checkUserName()

{

if($("#txtUserName").val().length == 0)

{

$("#txtUserName").next("span").css("color","red").text("*用户名不为空");

return false;

}

else

{

var reg = /^d{9}$/;

if(!reg.test($('#txtUserName').val()))

{

$('#txtUserName').next("span").css("color","red").text("*正确的格式

如:030602888");

return false;

}

else

{

$("#txtUserName").next("span").css("color","red").text("");

return true;

}

}

}

//check the pwd

function checkUserPwd()

{

if($('#txtUserPwd').val().length == 0)

{

$('#txtUserPwd').next("span").css("color","red").text("*密码不为空");

return false;

}

else

{

$('#txtUserPwd').next("span").css("color","red").text("");

return true;

}

}

// check the check code

function checkCheckCode()

{

if($('#txtCheckCode').val().length == 0)

{

$('#txtCheckCode').next("span").css("color","red").text("*验证码不为空");

return false;

}

else

{

$('#txtCheckCode').next("span").css("color","red").text("");

return true;

}

}

</script>

Login.ashx代码:

复制代码 代码如下:

using System;

using System.Collections;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Services;

using System.Web.Services.Protocols;

using System.Xml.Linq;

using System.Data.SqlClient;

using System.Web.SessionState; //支持session必须的引用

namespace Website.Ajax

{

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

public class Login : IHttpHandler,IRequiresSessionState

{

public void ProcessRequest(HttpContext context)

{

context.Response.ContentType = "text/plain";

string checkCode = "";

if (context.Session["checkCode"] != null)

{

checkCode = Convert.ToString(context.Session["checkCode"]).ToLower();

}

if (context.Request.Form["CheckCode"].ToLower() == checkCode)

{

using (SqlConnection conn = new SqlConnection(SqlHelper.StudentConnectionString))

{

string sql = "select ID,stuNumber,userPassword,realName from t_stuUser

where stuNumber=@UserName and userPassword=@UserPwd";

SqlCommand cmd = new SqlCommand(sql, conn);

SqlParameter pUserName = cmd.Parameters.Add("@UserName", SqlDbType.VarChar, 30);

SqlParameter pUserPwd = cmd.Parameters.Add("@UserPwd", SqlDbType.VarChar, 150);

pUserName.Value = context.Request.Form["UserName"];

pUserPwd.Value = Common.MD5(context.Request.Form["UserPwd"]);

conn.Open();

SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

if (sdr.Read())

{

context.Session["UserID"] = Convert.ToString(sdr["ID"]);

context.Session["StuName"] = Convert.ToString(sdr["realName"]);

context.Session["StuNumber"] = Convert.ToString(sdr["stuNumber"]);

context.Response.Write("1"); // 登录成功

}

else

{

context.Response.Write("0"); //登录失败,用户名或密码错误

}

}

}

else

{

context.Response.Write("2"); // 验证码错误

}

}

public bool IsReusable

{

get

{

return false;

}

}

}

}

【asp.net jQuery Ajax用户登录功能的实现】相关文章:

asp.net使用jquery实现搜索框默认提示功能

asp.net 文件下载实现代码

asp.net+ajax+sqlserver自动补全功能实现解析

asp.net用cookie保存用户密码自动登录

asp.net不用设置iis实现url重写

asp.net(c#) RSS功能实现代码

asp.net 操作cookie的实例

asp.net 参数不同共用一个页面的实现方法

asp.net下 jquery jason 高效传输数据

asp.net传多个值到其它页面的具体实现

精品推荐
分类导航