在ASP.NET中使用AJAX的簡單方法
2006/12/6 8:07:46
介紹
本文介紹了使用AJAX和ASP.NET編寫web應用程序的一個簡單方法。同時,討論了使用AJAX的好處和不足。為了舉例說明,本文給出了相應的JavaScript代碼和用C#.NET編寫的ASP.NET代碼。
為什么使用AJAX
也許大多數人已經知道AJAX的意思是異步JavaScript和XML(Asynchronous JavaScript and XML)。據我所知,這項技術最初是由Microsoft在1999年提出來的,也就是我們所熟知的"使用遠程調用(remote calls)的DHTML / JavaScript web應用程序"。這項技術的核心就是通過瀏覽器發出一個異步的HTTP請求來調用服務端的網頁或服務,在返回結果后,無需刷新就可以更新整個網頁。這項技術經過不斷地完善,到目前為此,使用AJAX的web程序從表現上看已經非常類似于Windows程序了。
由于這項技術的實現需要依賴于前端的瀏覽器,因此,它的使用受到了限制。但在最近的幾年,由于瀏覽器功能的加強和一些公司,如Google、Amazon.com的許多基于AJAX的應用的不俗表現,終于使這項技術鳳凰涅磐、欲火重生。
現在AJAX的使用已經非常廣泛,任何帶有豐富用戶體驗的動態網頁都會不約而同地使用AJAX。
解決方案
本文所描述的使用AJAX的方法非常簡單,而且效率很高。同時這種方法還非常容易維護,并且開發人員無需任何的特殊技巧就可以實現它,而且使用這種方法還可以跨瀏覽器。
一個基本的AJAX實現需要兩個主要部分:一個使用JavaScript代碼編寫的客戶端HTML頁,這些JavaScript用來向服務端發送請求和接收響應;一個可以接收請求和向客戶端發送響應信息的遠程頁面??蛻舳说腏avaScript代碼的任務是建立一個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"
下一頁
返回列表
返回首頁
主站蜘蛛池模板:
亚洲人成在久久综合网站|
国产va免费精品高清在线观看|
china同性基友gay勾外卖|
无码精品a∨在线观看中文|
亚洲乱人伦中文字幕无码|
波多野结衣新婚被邻居|
又色又污又黄无遮挡的免费视|
麻豆自创视频在线观看|
国产精品久久久久无码av|
97精品人人妻人人|
好吊妞998视频免费观看在线|
中文字幕第30页|
日韩内射美女片在线观看网站|
亚洲免费小视频|
毛片a级毛片免费观看品善网
|
国产主播一区二区三区|
国产精品视频你懂的|
国产精品国产三级国产普通话
|
韩国中文电影在线看完整免费版|
国产精品18久久久久久麻辣|
91啪国产在线|
大地资源在线资源官网|
а√天堂资源官网在线资源
|
思思久久99热只有频精品66|
丰满老熟妇好大bbbbb|
日韩人妻一区二区三区免费|
亚洲V欧美V国产V在线观看|
欧美怡红院免费全视频|
亚洲熟女综合一区二区三区|
男人j桶进女人j的视频|
再深点灬舒服灬太大了快点h视频|
老湿机香蕉久久久久久|
国产亚洲一区二区在线观看|
麻豆成人精品国产免费|
国产成人精品久久综合|
欧美bbbbxxxx|
国产欧美日韩精品a在线观看
|
精品亚洲视频在线|
四虎884tt紧急大通知|
色哟哟视频在线观看网站|
国产丝袜视频一区二区三区|