淺談ASP.NET中使用AJAX的簡單方法_.Net教程
推薦:解讀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所示
圖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頁面技術相比,
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-淺談ASP.NET中使用AJAX的簡單方法。