国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

一款經典的ajax登錄頁面 后臺asp.net

開發 后端
本文用AJAX編程實現一個經典的登錄頁面,有保存密碼功能,頁面上所有的控件都是html控件,沒有服務器控件,具體實現過程見下文。

  實現過程

  1. 新建一名為login.htm的靜態網頁文件,作為登錄頁面,如圖

 

  body標簽代碼,代碼如下:

  1. <body onkeydown ="enterLogin()">    
  2.  
  3. <div style="text-align: center">   
  4. <table border="1" cellpadding="1">   
  5. <tr>   
  6. <td align="center" style="width: 100px; height: 20px; background-color: #99cccc"   
  7. valign="middle">   
  8. 用戶名:td>   
  9. <td align="center" style="width: 74px; height: 20px; background-color: #99cccc" valign="middle">   
  10. <input id="txtusername" style="width: 111px; height: 19px" type="text" onblur ="checkuser()" />td>   
  11. <td align="center" style="width: 199px; height: 20px; background-color: #99cccc"   
  12. valign="middle"><img src="" id ="imgCheck" style = "visibility :hidden; "><span id ="unMessage">   
  13. span>td>   
  14. tr>   
  15. <tr>   
  16. <td align="center" style="width: 100px; height: 29px; background-color: #99cccc"   
  17. valign="middle">   
  18. 密碼:td>   
  19. <td align="center" style="width: 74px; height: 29px; background-color: #99cccc" valign="middle">   
  20. <input id="txtpwd" style="width: 107px; height: 17px" type="password" />td>   
  21. <td align="center" style="width: 199px; height: 29px; background-color: #99cccc"   
  22. valign="middle"><span id ="pwdMessage">span>   
  23. td>   
  24. tr>   
  25. <tr>   
  26. <td align="center" colspan="3" style="background-color: #99cccc" valign="middle">   
  27. <input id="cbRememberPwd" type="checkbox" />記住密碼一個月td>   
  28. tr>   
  29. <tr>   
  30. <td align="center" colspan="3" style="background-color: #99cccc" valign="middle">   
  31. <input id="btnOK" type="button" value="登錄" onclick ="login()" />   
  32. <input id="btnReset" type="button" value="重置" onclick ="reset()" />td>   
  33. tr>   
  34. table>   
  35. div>   
  36.  
  37. body> 

#p#

  2. 在login.htm中引入外部js代碼

  1. <script type ="text/javascript" src ="aj.js" >script> 
  2. <script type ="text/javascript" src ="loginCookies.js" >script> 

  其中aj.js為ajax封裝的類,loginCookie.js為對Cookie操作的代碼

  aj.js代碼如下:

  1. //JScript文件  
  2.  
  3. //ajax請求功能函數  
  4. //get調用方式:(1)實例化 var aj=new ajax(); (2)調用get函數 aj.get(url,callback) (3)寫回調函數 function callback(xhr){xhr.responsetext}  
  5. //post調用方式:(1)實例化 var aj=new ajax(); (2)調用post函數 aj.post(url,content,callback) (3)寫回調函數 function callback(xhr){xhr.responsetext}  
  6.  
  7. //構造ajax對象  
  8.  
  9. function ajax()   
  10. {  
  11. function getXHR()//獲取xmlhttprequest  
  12. {  
  13. var request=false;  
  14. try   
  15. {  
  16. request = new XMLHttpRequest();  
  17. }   
  18. catch (trymicrosoft)   
  19. {  
  20. try   
  21. {  
  22. request = new ActiveXObject("Msxml2.XMLHTTP");  
  23. }   
  24. catch (othermicrosoft)   
  25. {  
  26. try   
  27. {  
  28. request = new ActiveXObject("Microsoft.XMLHTTP");  
  29. }   
  30. catch (failed)   
  31. {  
  32. request = false;  
  33. }  
  34. }  
  35. }  
  36. return request;  
  37. }  
  38.  
  39. this.get = function (openUrl,successFun)//ajax對象的get方法,通過get方式發送請求,openUrl為請求的頁面,successFun為成功回調執行的函數  
  40. {  
  41. var request = getXHR();  
  42. request.open("get",openUrl,true);  
  43. // request.onreadystatechange = function ()  
  44. // {  
  45. // if (request.readystate==4)  
  46. // {  
  47. // if (request.status==200)  
  48. // {  
  49. // successFun(request);  
  50. // }  
  51. // }  
  52. // };  
  53. request.onreadystatechange = update;  
  54. function update()  
  55. {  
  56. if (request.readystate==4)  
  57. {  
  58. if (request.status==200)  
  59. {  
  60. successFun(request);  
  61. }  
  62. }  
  63. }  
  64. request.send(null);  
  65. }  
  66.  
  67. this.post = function (openUrl,sendContent,successFun)//ajax對象的post方法,通過post方式發送請求,openUrl為請求的頁面,successFun為成功回調執行的函數  
  68. {  
  69. var request = getXHR();  
  70. request.open("post",openUrl,true);  
  71. request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");//告訴服務器發送的是文本  
  72. request.onreadystatechange = update;  
  73. function update()  
  74. {  
  75. if (request.readystate==4)  
  76. {  
  77. if (request.status==200)  
  78. {  
  79. successFun(request);  
  80. }  
  81. }  
  82. }  
  83. request.send(sendContent);  
  84. }  
  85. }  

  loginCookie.js代碼如下

  1. //JScript文件  
  2.  
  3. //SetCookie 保存一個Cookie。參數中除了name和value以外,其他可以省略。  
  4. //GetCookie 通過一個Cookie的名字取出它的值。  
  5. //DelCookie 刪除一個Cookie,也就是讓一個Cookie立刻過期。參數中除了name,其他可以省略。  
  6.  
  7.  
  8. //測試  
  9. //SetCookie("username", "123");expires代表"月"  
  10. //alert(GetCookie("username"));  
  11. //DelCookie("username");  
  12. //alert(GetCookie("username"));  
  13.  
  14.  
  15.  
  16. function SetCookie(name, value, expires, path, domain, secure) {  
  17. var today = new Date();  
  18. today.setTime(today.getTime());  
  19. if(expires) { expires *= 2592000; }  
  20. var expires_date = new Date(today.getTime() + (expires));  
  21. document.cookie = name + "=" + escape(value)  
  22. + (expires ? ";expires=" + expires_date.toGMTString() : "")  
  23. + (path ? ";path=" + path : "")  
  24. + (domain ? ";domain=" + domain : "")  
  25. + (secure ? ";secure" : "");  
  26. }  
  27.  
  28. function GetCookie(name) {  
  29. var cookies = document.cookie.split( ';' );  
  30. var cookie = '';  
  31.  
  32. for(var i=0; i<cookies.length; i++) {  
  33. cookie = cookies[i].split('=');  
  34. if(cookie[0].replace(/^\s+|\s+$/g, '') == name) {  
  35. return (cookie.length <= 1) ? "" : unescape(cookie[1].replace(/^\s+|\s+$/g, ''));  
  36. }  
  37. }  
  38. return null;  
  39. }  
  40.  
  41. function Delcookie(name, path, domain) {  
  42. document.cookie = name + "="  
  43. + (path ? ";path=" + path : "")  
  44. + (domain ? ";domain=" + domain : "")  
  45. + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";  

#p#

  3. 寫login.htm頁面中的js代碼,放在head標簽之間

  1. <script type ="text/javascript" > 
  2. window.onload = function (){  
  3. document.getElementById ('txtusername').focus();//用戶名框獲得焦點  
  4.  
  5. if (GetCookie('user_name') != null && GetCookie('user_pwd') != null)//設置記住密碼的登錄頁面  
  6. {  
  7. document.getElementById ("txtusername").value = GetCookie('user_name');  
  8. document.getElementById ("txtpwd").value = GetCookie('user_pwd');  
  9. }  
  10. }  
  11.  
  12. String.prototype.Trim = function() //自定義的去除字符串兩邊空格的方法  
  13. {   
  14. return this.replace(/(^\s*)|(\s*$)/g, "");   
  15. }   
  16.  
  17. function checkuser()//檢驗用戶名是否正確  
  18. {  
  19. var img = document.getElementById ("imgCheck")  
  20. img.src="iamges/blue-loading.gif";//設置圖片及其可見性  
  21. img.style.visibility = "visible";  
  22.  
  23. var aj = new ajax();//以下為ajax請求  
  24. var username = document.getElementById ("txtusername").value.Trim();  
  25. var url = "login.aspx?uname="+escape(username);  
  26. aj.get(url,callback);  
  27. function callback(obj)  
  28. {  
  29. var response = obj.responsetext;  
  30. var res = response.split('\n');  
  31. if (res[0] == "ok")  
  32. {  
  33. img.src="iamges/icon-info.gif";  
  34. document.getElementById ("unMessage").innerHTML = "用戶名正確";  
  35. }  
  36. else  
  37. {  
  38. img.src="iamges/icon-warning.gif";  
  39. document.getElementById ("unMessage").innerHTML = "用戶名錯誤";  
  40. }  
  41. }  
  42. }  
  43.  
  44.  
  45. function login()//登錄  
  46. {  
  47. if (document.getElementById ("unMessage").innerText == "用戶名錯誤")  
  48. {  
  49. alert("你的用戶名錯誤");  
  50. }  
  51. else if (document.getElementById ("txtpwd").value == "")  
  52. {  
  53. alert("請輸入密碼");  
  54. }  
  55. else  
  56. {  
  57. var aj = new ajax();  
  58. var username = document.getElementById ("txtusername").value.Trim();  
  59. var userpwd = document.getElementById ("txtpwd").value;  
  60. var url = "login.aspx?name="+escape(username)+"&pwd="+escape(userpwd);  
  61. aj.get(url,callback);  
  62. function callback(obj)  
  63. {  
  64. var response = obj.responsetext;  
  65. var res = response.split('\n');  
  66. if (res[0] == "ok")  
  67. {  
  68. if (document.getElementById ("cbRememberPwd").checked)  
  69. {  
  70. SetCookie('user_name',username,1);//保存密碼一個月  
  71. SetCookie('user_pwd',userpwd,1);  
  72. }  
  73. else  
  74. {  
  75. SetCookie('user_name',username);  
  76. SetCookie('user_pwd',userpwd);  
  77. }  
  78. window.open ("loginIndex.htm","_self");  
  79. }  
  80. else  
  81. &p; {  
  82. alert("密碼錯誤");  
  83. }  
  84. }  
  85. }  
  86. }  
  87.  
  88. function reset()//重置  
  89. {  
  90. window.onload();//執行窗體登錄事件  
  91. document.getElementById ("txtusername").value="";  
  92. document.getElementById ("txtpwd").value="";  
  93. }  
  94.  
  95. function enterLogin()  
  96. {  
  97. if (event.keyCode==13) //如果按下的是Enter鍵的話,就執行登錄語句  
  98. {  
  99. login();  
  100. }  
  101. }  
  102. script> 

#p#

  4. 新建一名為login.aspx的頁面,該頁面作為ajax請求的頁面,login.aspx.cs代碼如下

  1. protected void Page_Load(object sender, EventArgs e)  
  2. {  
  3. OleDbConnection Conn = DBcon.get_con();  
  4.  
  5. if (Request["uname"] != null)  
  6. {  
  7. string username = Request["uname"].ToString();  
  8. string strSql = "select * from [user] where u_name='" + username + "'";  
  9. Conn.Open();  
  10. OleDbCommand Comd = new OleDbCommand(strSql, Conn);  
  11. OleDbDataReader dr = Comd.ExecuteReader();  
  12. if (dr.Read())  
  13. {  
  14. Response.Write("ok\n");  
  15. }  
  16. else  
  17. {  
  18. Response.Write("fail\n");  
  19. }  
  20. //if (Comd.ExecuteNonQuery() > 0)  
  21. //{  
  22. // Response.Write("存在這個用戶\n");  
  23. //}  
  24. //else  
  25. //{  
  26. // Response.Write("沒有此用戶名\n");  
  27. //}  
  28. Conn.Close();  
  29. }  
  30.  
  31. if (Request["name"] != null && Request["pwd"] != null)  
  32. {  
  33. string name = Request["name"].ToString();  
  34. string pwd = Request["pwd"].ToString();  
  35. string strSql = "select * from [user] where u_name='" + name + "'" + " and u_pwd='" + pwd + "'";  
  36. Conn.Open();  
  37. OleDbCommand Comd = new OleDbCommand(strSql, Conn);  
  38. OleDbDataReader dr = Comd.ExecuteReader();  
  39. if (dr.Read())  
  40. {  
  41. Response.Write("ok\n");  
  42. }  
  43. else  
  44. {  
  45. Response.Write("fail\n");  
  46. }  
  47. }  
  48. }  

  5. 新建一名為loginIndex.htm的靜態頁面,作為用戶登錄之后的首頁

  其body標簽代碼如下:

  1. <body> 
  2. <span id ="username"> span> 
  3. body> 

  6. 在loginIndex.htm頁面引入loginCookie.js文件

  1. <script type ="text/javascript" src ="loginCookies.js" >script> 

  7. 寫loginIdex.htm頁面的js代碼,放在head標簽之間

  1. <script type ="text/javascript" > 
  2. window.onload = function ()  
  3. {  
  4. if(GetCookie('user_name')==null || GetCookie('user_pwd')==null)//如果沒有登錄,而是直接在網頁中輸入網址的  
  5. {  
  6. alert('你還沒有登錄!\n返回到登陸頁面。');  
  7. window.navigate("login.htm");  
  8. }  
  9. else  
  10. {  
  11. var uname = GetCookie('user_name');  
  12. document.getElementById ('username').innerHTML ="歡迎你: " + uname + " <a href='#' onclick = 'off()'>注銷a>";//提供"注銷"按鈕  
  13. }  
  14. }  
  15.  
  16. function off()//注銷事件  
  17. {  
  18. if (window.confirm("你真要注銷嗎?"))  
  19. {  
  20. Delcookie("user_name");  
  21. Delcookie("user_pwd");  
  22. window.navigate("login.htm");  
  23. }  
  24. }  
  25. script> 

#p#

  8. 完成并演示

  客戶端代碼較多,但是交互性很好,演示如下:

  當輸入完用戶名,鼠標光標離開用戶名框之后,系統會快速檢驗用戶名是否合法

 

圖-演示1

 

圖-演示2

  進入首頁后,出現的窗口,帶有當前登錄的用戶和注銷按鈕

 

圖-演示3

  當用戶點擊注銷按鈕時,會友情提示你是否真的注銷

 

圖-演示4

  當你不是輸入用戶和密碼登陸,也是直接在瀏覽器地址欄中輸入首頁網址的時候,系統會提示你沒有登錄,并直接返回到登陸頁面。

 

圖-演示5

  當用戶輸入了有效的用戶名和密碼,并要求系統記住密碼,用戶下次進入到登錄頁面時,系統會把上次記住的用戶名和密碼顯示在輸入框中。。

  并且這個時候直接在瀏覽器的地址欄中輸入首頁地址,也是能正常訪問的。

 

圖-演示7

【編輯推薦】

  1. 程序員突擊--Ajax原理與系統開發
  2. 基于PHP的AJAX技術的具體應用解析
  3. 簡化開發流程 了解各種Ajax框架的適用性
  4. ASP.NET AJAX前景黯淡?jQuery笑而不語
  5. 盤點ASP.NET Ajax工具箱的10大頂級控件
責任編輯:韓亞珊 來源: 飛諾網
相關推薦

2009-07-22 16:05:34

ASP.NET AJA

2009-07-22 16:25:41

ASP.NET AJA

2009-07-22 16:11:43

ASP.NET AJA

2009-07-24 13:41:15

ASP.NET AJA

2009-07-22 16:17:39

ASP.NET AJA

2009-07-20 17:39:36

WCF服務ASP.NET AJA

2009-07-20 13:14:25

安裝ASP.NET A

2009-07-29 13:50:26

UpdatePanelASP.NET

2009-07-20 10:16:13

配置ASP.NET A

2009-07-31 13:24:43

ASP.NET AJA

2009-07-22 15:58:52

ASP.NET AJA

2009-07-28 09:02:32

asp.net aja

2009-07-31 10:23:44

緩存頁面ASP.NET緩存

2009-07-23 14:17:41

2009-07-29 17:26:39

ASP.NET頁面

2009-07-24 17:43:35

循環引用ASP.NET AJA

2009-07-24 13:08:40

AJAX技術ASP.NET

2009-07-27 09:07:04

Profile SerASP.NET AJA

2009-07-20 17:59:07

JavaScript調ASP.NET AJA

2009-07-21 09:53:55

ASP.NET AJAWCF服務
點贊
收藏

51CTO技術棧公眾號

姬川优奈aav一区二区| 一区二区三区视频在线| 亚洲欧洲日夜超级视频| 性欧美69xoxoxoxo| 久久久久免费视频| 免费一级欧美在线观看视频| 91精品国产综合久久久久久漫画| 国产黄色片大全| 国产欧美一区二区三区沐欲| 国产精品无码一区二区在线| 国产综合成人久久大片91| 久久久一本精品99久久精品66| 精品中文一区| 国产精品久久久| 精品国产一区二区三区久久久樱花 | 青青草伊人久久| 国产伦精品一区二区三区四区视频| 国产欧美日韩精品一区二区三区 | 99久久婷婷国产| 又大又硬又爽免费视频| 精品一区免费av| 激情五月五月婷婷| 成人v精品蜜桃久久一区| 鲁一鲁一鲁一鲁一澡| 久久久亚洲欧洲日产国码αv| 亚洲xxxx2d动漫1| 亚洲欧美另类小说| 亚洲男人资源| 日韩小视频在线观看专区| av影院在线免费观看| 一区二区成人精品| 18国产精品| 国产欧美中文字幕| 一区二区国产在线观看| 亚洲精品中文字幕在线| 国产激情91久久精品导航| 国产免费一区二区视频| 国产欧美一区二区三区在线看蜜臀 | 999精品视频在线| 中文字幕永久在线不卡| 亚洲社区在线| 欧美色精品在线视频| 97在线视频免费观看完整版| 亚洲视频一区二区| 91国内精品| 成人精品aaaa网站| 国产精品久久久久毛片大屁完整版| 一区二区三区我不卡| 久久久亚洲精品一区二区三区 | 污视频免费在线观看| 亚洲精品二三区| 欧美电影院免费观看| 日韩免费观看在线观看| 亚洲视频高清| 黄色成人在线免费观看| 亚洲欧洲无码一区二区三区| 国产女人在线视频| 亚洲美腿欧美激情另类| 国产欧美自拍一区| 精品视频一区在线| 94色蜜桃网一区二区三区| 成人a视频在线| 欧美成人激情免费网| 欧美在线在线| 国产亚洲一区在线播放| 白白色 亚洲乱淫| 污污网址在线观看| 亚洲视频欧美视频| 日韩黄色大片网站| 日韩一级特黄毛片| 亚洲一卡二卡三卡四卡无卡久久 | 91综合在线| 喜爱夜蒲2在线| 亚洲成人免费av| 欧美最新精品| 99在线看视频| 国产日韩精品一区| 97影院秋霞午夜在线观看| 国语自产精品视频在线看一大j8| 欧美亚洲自偷自偷| 污视频网站免费| 欧美精品一区二区精品网| 果冻天美麻豆一区二区国产| 久久久人人爽| 亚洲一区在线观看网站| 国产精品久久久久久久久免费高清| 91精品网站| 国产精品理论在线观看| 亚洲女色av| 成人三级视频在线观看一区二区| 久久久91精品国产一区二区精品 | 中文字幕国内自拍| 亚洲精品黄网在线观看| 亚洲成av人电影| 日韩av在线中文| 亚洲欧美第一页| 裸体一区二区| 国产私人尤物无码不卡| 午夜伦理精品一区 | 欧美日韩亚洲在线| 亚洲最色的网站| 久久xxx视频| 欧美日韩一区二区三区免费| 午夜天堂影视香蕉久久| 成人av动漫| 午夜免费福利小电影| 日韩精品中文字幕一区二区三区| sdde在线播放一区二区| 91视频最新入口| 这里精品视频免费| 精彩视频一区二区三区| 免费在线播放电影| 久久国产精品一区二区三区| 亚洲午夜精品17c| 偷拍视屏一区| 亚洲成人av免费看| 欧美大片免费观看| 国产校园另类小说区| 香蕉久久一区| 男人添女荫道口图片| 亚洲女人被黑人巨大进入al| 久久国产精品免费| 男人的天堂免费在线视频| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 制服丝袜中文字幕一区| 99精品免费网| 国产精品久久麻豆| 久久国产精品 国产精品| 日本二三区不卡| 亚洲一级毛片| 黄色在线网站| 精品一区二区三区日本| 7777精品伊人久久久大香线蕉 | 国产亚洲电影| 午夜激情影院| 欧美诱惑福利视频| 亚洲综合偷拍欧美一区色| 日韩成人精品一区| 日韩美女一级视频| 91嫩草国产在线观看| 日本高清不卡aⅴ免费网站| 亚洲黄色大片| 另类视频在线| 成人精品视频在线播放| 久久视频国产精品免费视频在线| a级高清视频欧美日韩| 日韩视频一二区| 自拍偷拍精选| 成人高清视频观看www| 欧美日韩在线免费视频| 久久一综合视频| 最新日韩一区| 在线视频日韩一区| 欧美在线一区二区视频| 精品日韩中文字幕| 久久久久久网| 久久99久久久精品欧美| 99视频入口| 久久国产精品一区二区三区 | 欧美成人xxx| 三级在线免费观看| 国产69精品久久久久99| 午夜久久久影院| 免费视频一区二区三区在线观看| 午夜影院在线观看国产主播| 国产麻花豆剧传媒精品mv在线| 日韩美女中文字幕| 欧美精品第1页| 国产精品亚洲一区二区三区妖精| 看亚洲a级一级毛片| 黄页网站视频在线观看| 日本成人黄色免费看| 色多多国产成人永久免费网站| 国产精品电影一区二区| 亚洲黄色影院| 欧美成年网站| h视频在线观看免费| 日韩欧美猛交xxxxx无码| 日韩免费观看高清| 亚洲成色www8888| 国产精品电影一区二区| 国产欧美欧美| 国产亚洲成av人片在线观黄桃| 国产主播福利在线| 男女裸体影院高潮| 国产伦精品一区二区三区精品视频| 91精品在线免费| 国产精品欧美极品| 奇米四色…亚洲| 最新国产一区| 欧美电影免费看| 日韩亚洲视频在线观看| 国产美女主播在线播放| 国产成人精品日本亚洲11| 久久天天躁狠狠躁老女人| 欧美日韩一区二区在线观看| 欧美激情一区二区三区全黄| 久久国产精品久久久久久电车| 欧美视频精品全部免费观看| 免费黄色网页在线观看|