天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

jQuery+Ajax用戶登錄功能的實現

ok,先來貼幾張張效果圖。


 

 

其中大致流程是用戶點擊頁面右上角的登錄鏈接接著彈出div模擬窗口,該窗口通過iframe調用Login.ASPx頁面,用戶輸入用戶名

密碼和驗證碼后,Login.ASPx頁面的jQuery代碼post到Login.ashx頁面處理,Login.ashx頁面可以算是簡易的ASPx頁面吧。

當然你用LoginProcess.ASPx 也是可以的。Login.ashx頁面處理完把結果返回給Login.ASPx頁面處理,result變量用與接收結果。

如果返回1表示登錄成功,則關閉模擬窗口。

主頁面調用代碼片段:
復制代碼 代碼如下:
<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 class="textbox" type="text" style="width:160px;" id="txtUserName"
maxlength="9" onblur="checkUserName()" onclick="$.trim(this.value)"/><span></span>
</td>
</tr>
<tr>
<td width="60">密碼:</td>
<td><input class="textbox" type="password" style="width:160px;" id="txtUserPwd"
onblur="checkUserPwd()" onclick="$.trim(this.value)" /><span></span>
</td>
</tr>
<tr>
<td width="60">驗證碼:</td>
<td><input class="textbox" type="text" style="width:160px;" maxlength="5"
id="txtCheckCode" onblur="checkCheckCode()" onclick="$.trim(this.value)"/><span>
</span>
</td>
</tr>
<tr>
<td width="60"></td>
<td><div style="color:#808080;">輸入下圖中的字符,不區分大小寫</div><br />
<img src="CheckCode.ASPx" style="vertical-align:middle;" 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="馬上登錄" style="border:0;"/></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;
}
}
}
}

AspNet技術jQuery+Ajax用戶登錄功能的實現,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美亚洲国产免费高清视频 | 亚洲日本天堂在线 | 亚洲精品视频免费看 | 最新国自产拍 高清完整版 最新国产在线视频在线 | 精品区2区3区4区产品乱码9 | 人妻无码AV中文系统久久免费 | 小短文H啪纯肉公交车 | 久久精品国产欧美日韩99热 | 色偷拍自怕亚洲在线 | 蜜桃色欲AV久久无码精品 | 国产偷国产偷亚州清高 | 久久99热这里只频精品6 | 国产精品高清视频在线 | 蜜臀AV精品一区二区三区 | 午夜深情在线观看免费 | 少妇人妻偷人精品视蜜桃 | 精品日韩欧美一区二区三区 | 国产自拍视频在线一区 | 爆操大胸美女 | 99er热精品视频国产免费 | 久久国产欧美日韩精品免费 | 国产精品96久久久久久AV不卡 | 亚洲精品无码专区在线播放 | 久久一级片 | 伦理在线影院伦理电影 | 美女内射少妇三区五区 | 狠狠干福利视频 | 日本久久和电影 | 国内久久久久影院精品 | 成人在线观看国产 | 久久精品动漫网一区二区 | 草莓视频免费在线观看 | 美女裸露100%奶头视频 | 少妇久久久久久被弄高潮 | 国产精品成人不卡在线观看 | 少妇厨房愉情理9伦片视频 少妇被躁爽到高潮无码久久 | 伸到同桌奶罩里捏她胸h | 国产又爽又黄又不遮挡视频 | 亚洲第一天堂无码专区 | 欧洲精品一区二区不卡观看 | 国产成人无码一区AV在线观看 |