[转]Ajax简单客户登陆验证
 服务器端操作方便之处我就不吹了,地球人都知道,它最烦莫过于页面刷新,头都被刷晕了,而且他在刷新的时候,还触发服务器端的事件(解决方案:http://skylaugh.cnblogs.com/archive/2006/06/05/418010.html),现在Ajax的出现,他们的结合是发展的必然!
服务器端操作方便之处我就不吹了,地球人都知道,它最烦莫过于页面刷新,头都被刷晕了,而且他在刷新的时候,还触发服务器端的事件(解决方案:http://skylaugh.cnblogs.com/archive/2006/06/05/418010.html),现在Ajax的出现,他们的结合是发展的必然! 一、介绍一下Ajax在Asp.Net中的基本使用
    一、介绍一下Ajax在Asp.Net中的基本使用 1、在工程中引入Ajax.dll文件。
    1、在工程中引入Ajax.dll文件。 Ajax.dll实现XmlHttpRequest请求服务器的实现细节。.net项目中,添加上对其的引用,就可以进
  Ajax.dll实现XmlHttpRequest请求服务器的实现细节。.net项目中,添加上对其的引用,就可以进
 行相应封装操作了。
行相应封装操作了。
 2、在web.config中设置HttpHandle
    2、在web.config中设置HttpHandle <httpHandlers>
    <httpHandlers> <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
      <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/> </httpHandlers>
    </httpHandlers> 3、在 <HEAD>与</HEAD>间加入一些引用如下:
    3、在 <HEAD>与</HEAD>间加入一些引用如下: <script src=js/Xml.js></script>
    <script src=js/Xml.js></script>  <link href="css/myStyle.css" type="text/css" rel="stylesheet">
    <link href="css/myStyle.css" type="text/css" rel="stylesheet">  <script src="/HttpForAjax/ajax/common.ashx" type="text/javascript"></script>
    <script src="/HttpForAjax/ajax/common.ashx" type="text/javascript"></script>  <script src="/HttpForAjax/ajax/Ttyu.AjaxData,HttpForAjax.ashx" type="text/javascript"></script>
    <script src="/HttpForAjax/ajax/Ttyu.AjaxData,HttpForAjax.ashx" type="text/javascript"></script> 
 二、介绍正题-用户登录验证
    二、介绍正题-用户登录验证 1、前台Html:
    1、前台Html: <form id="Form1" method="post" runat="server" action="" onsubmit="login.GetLogin();return false;">
<form id="Form1" method="post" runat="server" action="" onsubmit="login.GetLogin();return false;">    <TABLE id="Table1"  cellSpacing="1" cellPadding="1" width="300" border="1">
    <TABLE id="Table1"  cellSpacing="1" cellPadding="1" width="300" border="1"> <TR>
     <TR> <TD></TD>
      <TD></TD> <TD><INPUT type="text"  id="txtUsername">usename</TD>
      <TD><INPUT type="text"  id="txtUsername">usename</TD> </TR>
     </TR> <TR>
     <TR> <TD></TD>
      <TD></TD> <TD><INPUT type="password"  id="txtPassword">pwd</TD>
      <TD><INPUT type="password"  id="txtPassword">pwd</TD> </TR>
     </TR> <TR>
     <TR> <TD></TD>
      <TD></TD> <TD><INPUT type="submit" value="登陆"></TD>
      <TD><INPUT type="submit" value="登陆"></TD> </TR>
     </TR> </TABLE>
    </TABLE> </form>
  </form>
 2、引用Js文件
    2、引用Js文件
 <SCRIPT language="javascript" src="login.js" type="text/javascript"></SCRIPT>
<SCRIPT language="javascript" src="login.js" type="text/javascript"></SCRIPT> <script language="javascript">
  <script language="javascript"> window.onload = function()
  window.onload = function() {
    { login=new Login(testAjax);
       login=new Login(testAjax); }
      } </script>
  </script>
 login.Js文件
   login.Js文件 // 提取控件值
// 提取控件值 function getValueById(pObjID){
function getValueById(pObjID){ var obj=document.getElementById(pObjID);
 var obj=document.getElementById(pObjID); try{
 try{ return obj.value;
  return obj.value; }catch(e){
 }catch(e){ alert("控件:"+pObjID+" 不存在,或没有value属性");
  alert("控件:"+pObjID+" 不存在,或没有value属性"); }
 } }
}
 function Login(obj)
function Login(obj) {
{ this.OBJ = obj;
 this.OBJ = obj; this.GetLogin=function()
 this.GetLogin=function() {
 { var returnValue;
  var returnValue; var username=getValueById('txtUsername');
  var username=getValueById('txtUsername'); var password=getValueById('txtPassword');
  var password=getValueById('txtPassword'); if(!username||!password)
  if(!username||!password) {
  { alert('请输入用户名与密码!');
   alert('请输入用户名与密码!'); return;
   return; }
  }   try
  try {
  { returnValue=this.OBJ.Login(username,password).value;
   returnValue=this.OBJ.Login(username,password).value; }catch(e)
  }catch(e) {
  { alert('登录出错,请稍后再试或与管理员联系');
   alert('登录出错,请稍后再试或与管理员联系'); }
  } switch(returnValue)
  switch(returnValue) {
  {  
    case 1:
   case 1: alert('对不起,您输入的用户名或密码不正确或者不是管理员!');
    alert('对不起,您输入的用户名或密码不正确或者不是管理员!'); break;
    break;    case 0:
   case 0: alert('管理员登录成功!');
    alert('管理员登录成功!'); window.document.location.href('../Error.aspx');
    window.document.location.href('../Error.aspx'); break;
    break;    default:
   default: alert('登录失败,请稍后再试或与管理员联系'+returnValue);
    alert('登录失败,请稍后再试或与管理员联系'+returnValue); break;
    break; }
  } }
 } }
}
 3、.cs文件
3、.cs文件
 private void Page_Load(object sender, System.EventArgs e)
private void Page_Load(object sender, System.EventArgs e) {
  { Ajax.Utility.RegisterTypeForAjax(typeof(testAjax));
   Ajax.Utility.RegisterTypeForAjax(typeof(testAjax)); }
  }
 [Ajax.AjaxMethod()]
  [Ajax.AjaxMethod()] public int Login(string username,string password)
  public int Login(string username,string password) {
  {    // 管理员登陆入口
   // 管理员登陆入口 Action.Common.CDB cdb = new Action.Common.CDB();
   Action.Common.CDB cdb = new Action.Common.CDB(); if("admin"==cdb.ExeScalar("select upower from users where
   if("admin"==cdb.ExeScalar("select upower from users where 
 uname='"+username+"' and upwd='"+password+"'"))
uname='"+username+"' and upwd='"+password+"'")) return 0;
    return 0; else
   else return 1;
    return 1; }
  } 
     我这里写的是简单Ajax的实现,你可以密码加密,还可以加验证码之类,如此一来,就达到防止和克截获的可能
我这里写的是简单Ajax的实现,你可以密码加密,还可以加验证码之类,如此一来,就达到防止和克截获的可能
 
                     
                    
                 
                    
                 
    
 
  
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号