淺談ASP.NET中使用AJAX的簡單方法_.Net教程

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

      推薦:解讀ASP.NET編寫應用程序的十大技巧
      1、在使用Visual Studio .NET時,除直接或非引用的對象外,不要使用缺省的名字。 .NET帶來的好處之一是所有的源代碼和配置文件都是純文本文件,能夠使用Notepad或WordPad等任意的文本編輯器進行編輯。如果不愿意,我們并非一定要使用Visual Studio .NET作為

      據我所知,這項技術最初是由Microsoft在1999年提出來的,也就是我們所熟知的"使用遠程調用(remote calls)的DHTML / JavaScript web應用程序".這項技術的核心就是通過瀏覽器發出一個異步的HTTP請求來調用服務端的網頁或服務,在返回結果后,無需刷新就可以更新整個網頁。這項技術經過不斷地完善,到目前為此,使用AJAX的web程序從表現上看已經非常類似于Windows程序了。
       
      由于這項技術的實現需要依賴于前端的瀏覽器,因此,它的使用受到了限制。但在最近的幾年,由于瀏覽器功能的加強和一些公司,如Google、Amazon.com的許多基于AJAX的應用的不俗表現,終于使這項技術鳳凰涅磐、欲火重生。
       
      現在AJAX的使用已經非常廣泛,任何帶有豐富用戶體驗的動態網頁都會不約而同地使用AJAX.
       
      解決方案

      本文所描述的使用AJAX的方法非常簡單,而且效率很高。同時這種方法還非常容易維護,并且開發人員無需任何的特殊技巧就可以實現它,而且使用這種方法還可以跨瀏覽器。
       
      一個基本的AJAX實現需要兩個主要部分:一個使用JavaScript代碼編寫的客戶端HTML頁,這些JavaScript用來向服務端發送請求和接收響應;一個可以接收請求和向客戶端發送響應信息的遠程頁面。客戶端的JavaScript代碼的任務是建立一個XmlHttp對象,然后向服務端發送請求信息,最后通過回調方式處理服務端返回的響應信息。這一切都是由JavaScript代碼實現的。
       
      本文的例子使用ASP.NET程序實現,在實現上要做到以下幾點:1、AJAX可以在不同的ASP.NET頁上向不同的服務端頁發送請求。
       
      2、遠程頁面URL可以包含動態可計算的參數,這樣做可以在ASP.NET的后端代碼中更方便地建立URL字符串。
       
      3、遠程頁在更新HTML頁之前可以使用復雜的數據進行響應,這也可以由ASP.NET的后端代碼完成。
       
      4、一個服務端頁面可以是一個擴展的第三方的頁面,也可以是本身的web頁或服務。
       
      以上的幾點如圖1所示

      在ASP.NET中使用AJAX的簡單方法
      圖1

      實現基本的AJAX JavaScript方法我將JavaScript方法分成兩部分:調用特殊頁的JavaScript方法和一般的JavaScript方法。特殊的方法包括一個回調方法,它的作用是更新頁面內容。而其它的AJAX方法負責建立一個XmlHttp對象,并向服務端發出一個異步的HTTP請求。
       
      建立的XmlHttp對象因客戶端瀏覽器的不同而有所差異。本文只考慮兩種瀏覽器:一個是Microsoft的IE系列瀏覽器;另一個是Mozilla系列瀏覽器,包括Mozilla Firefox、Netscape和Safari.我也在Opera瀏覽器上測試過,但我不能保證本文的代碼可以很好地運行Opera瀏覽器上。下面是如何建立XmlHttp對象的代碼:

      以下為引用的內容:
      function GetXmlHttpObject(handler)
      {
      var objXmlHttp = null;
      if (!window.XMLHttpRequest)
      {
      // Microsoft
      objXmlHttp = GetMSXmlHttp();
      if (objXmlHttp != null)
      {
      objXmlHttp.onreadystatechange = handler;
      }
      }
      else
      {
      // Mozilla | Netscape | Safari
      objXmlHttp = new XMLHttpRequest();
      if (objXmlHttp != null)
      {
      objXmlHttp.onload = handler;
      objXmlHttp.onerror = handler;
      }
      }
      return objXmlHttp;
      }
      function GetMSXmlHttp()
      {
      var xmlHttp = null;
      var clsids = ["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0",
      "Msxml2.XMLHTTP.2.6","Microsoft.XMLHTTP.1.0",
      "Microsoft.XMLHTTP.1","Microsoft.XMLHTTP"];
      for(var i=0; i
      xmlHttp = createXmlHttp(clsids[i]);
      }
      return xmlHttp;
      }
      function createXmlHttp(clsid) {
      var xmlHttp = null;
      try {
      xmlHttp = new ActiveXObject(clsid);
      lastclsid = clsid;
      return xmlHttp;
      }
      catch(e) {}
      }

      由于MSXML5只是為Office設計的,因此,我們可以不考慮MSXML5。

      分享:淺談ASP.NET開發下的MVC設計模式的實現
      ASP.NET是微軟最新推出的新型體系結構.NET框架的一部分,它為構造新一代動態網站和基于網絡的分布式應用提供了強有力的支持。與以前的Web 開發模型相比,ASP.NET 提供了許多重要的優點例如: 簡易性;安全性;可管理性等。而且與基于過程的ASP頁面技術相比,

      共3頁上一頁123下一頁
      來源:模板無憂//所屬分類:.Net教程/更新時間:2009-07-01
      相關.Net教程