Ajax簡單客戶登陸驗證_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:在指定應用程序域中執(zhí)行代碼
      以下為引用的內(nèi)容: // // 在指定應用程序域中執(zhí)行代碼 // // // using System; using System.Collections.Generic; using System.Text;

      服務(wù)器端操作方便之處我就不吹了,地球人都知道,它最煩莫過于頁面刷新,頭都被刷暈了,而且他在刷新的時候,還觸發(fā)服務(wù)器端的事件,現(xiàn)在Ajax的出現(xiàn),他們的結(jié)合是發(fā)展的必然!

      一、介紹一下Ajax在Asp.Net中的基本使用

      1、在工程中引入Ajax.dll文件。

      Ajax.dll實現(xiàn)XmlHttpRequest請求服務(wù)器的實現(xiàn)細節(jié)。.net項目中,添加上對其的引用,就可以進行相應封裝操作了。

      2、在web.config中設(shè)置HttpHandle

      以下為引用的內(nèi)容:
         <httpHandlers>
      <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
      </httpHandlers>

      3、在 <HEAD>與</HEAD>間加入一些引用如下:

      以下為引用的內(nèi)容:
      <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:

      以下為引用的內(nèi)容:
      <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文件

      以下為引用的內(nèi)容:

      <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('登錄出錯,請稍后再試或與管理員聯(lián)系');
      }
      switch(returnValue)
      {

      case 1:
      alert('對不起,您輸入的用戶名或密碼不正確或者不是管理員!');
      break;
      case 0:
      alert('管理員登錄成功!');
      window.document.location.href('../Error.aspx');
      break;
      default:
      alert('登錄失敗,請稍后再試或與管理員聯(lián)系' returnValue);
      break;
      }
      }
      }

      3、.cs文件

      以下為引用的內(nèi)容:

      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;

      分享:C#中的委托和事件
      引言 委托和事件在 .Net Framework中的應用非常廣泛,然而,較好地理解委托和事件對很多接觸C#時間不長的人來說并不容易。它們就像是一道檻兒,過了這個檻的人,覺得真是太容易了,而沒有過去

      來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
      相關(guān).Net教程