程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> Ajax簡單客戶登陸驗證

Ajax簡單客戶登陸驗證

編輯:.NET實例教程

服務器端操作方便之處我就不吹了,地球人都知道,它最煩莫過於頁面刷新,頭都被刷暈了,而且他在刷新的時候,還觸發服務器端的事件(解決方案:http://skylaugh.cnblogs.com/archive/2006/06/05/418010.Html),現在AJax的出現,他們的結合是發展的必然!

    一、介紹一下AJax在ASP.Net中的基本使用
    1、在工程中引入AJax.dll文件。
  AJax.dll實現XMLHttpRequest請求服務器的實現細節。.Net項目中,添加上對其的引用,就可以進

行相應封裝操作了。

    2、在web.config中設置HttpHandle
    <httpHandlers>
      <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, AJax"/>
    </httpHandlers>
    3、在 <HEAD>與</HEAD>間加入一些引用如下:
    <script src=JS/XML.JS></script>
    <link href="css/myStyle.css" type="text/CSS" rel="stylesheet">
    <script src="/HttpForAjax/AJax/common.ashx" type="text/Javascript"></script>
    <script src="/HttpForAjax/ajax/Ttyu.AjaxData,HttpForAJax.ashx" type="text/Javascript"></script>

    二、介紹正題-用戶登錄驗證
    1、前台Html:
<form id="Form1" method="post" runat="server" action="" onsubmit="login.GetLogin();return false;">  
    <TABLE id="Table1"  cellSpacing="1" cellPadding="1" width="300" border="1">
     <TR>
      <TD></TD>
      <TD><INPUT type="text"  id="txtUsername">usename</TD>
     </TR>
     <TR>
      <TD></TD>
      <TD><INPUT type="password"  id="txtPassWord">pwd</TD>
     </TR>
     <TR>
      <TD></TD>
      <TD><INPUT type="submit" value="登陸"></TD>
     </TR>
    </TABLE>
  </form>

    2、引用JS文件

<SCRIPT language="Javascript" src="login.JS" type="text/Javascript"></SCRIPT>
  <script language="Javascript">
  window.onload = function()
    {
       login=new Login(testAJax);
      }
  </script>

   login.JS文件
// 提取控件值
function getValueById(pObjID){
 var obj=document.getElementById(pObjID);
 try{
  return obj.value;
 }catch(e){
  alert("控件:"+pObjID+" 不存在,或沒有value屬性");
 }
}

function Login(obj)
{
 this.OBJ = obj;
 this.GetLogin=function()
 {
  var returnValue;
  var username=getValueById('txtUsername');
  var password=getValueById('txtPassWord');
  if(!username||!passWord)
  {
   alert('請輸入用戶名與密碼!');
   return;
  } 
  try
  {
   returnValue=this.OBJ.Login(username,passWord).value;
  }catch(e)
  {
   alert('登錄出錯,請稍後再試或與管理員聯系');
  }
  switch(returnValue)
  {
  
   case 1:
    alert('對不起,您輸入的用戶名或密碼不正確或者不是管理員!');
    break;  
   case 0:
    alert('管理員登錄成功!');
    window.document.location.href('../Error.ASPx');
    break;  
   default:
    alert('登錄失敗,請稍後再試或與管理員聯系'+returnValue);
    break;
  }
 }
}

3、.cs文件

private void Page_Load(object sender, System.EventArgs e)
  {
   Ajax.Utility.RegisterTypeForAjax(typeof(testAJax));
  }

  [Ajax.AJaxMethod()]
  public int Login(string username,string passWord)
  {  
   // 管理員登陸入口
   Action.Common.CDB cdb = new Action.Common.CDB();
   if("admin"==cdb.ExeScalar("select upower from users where

uname='"+username+"' and upwd='"+passWord+"'"))
    return 0;
   else
    return 1;
  }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved