淺談ASP.NET中使用AJAX的簡(jiǎn)單方法_.Net教程
推薦:解讀ASP.NET編寫應(yīng)用程序的十大技巧1、在使用Visual Studio .NET時(shí),除直接或非引用的對(duì)象外,不要使用缺省的名字。 .NET帶來(lái)的好處之一是所有的源代碼和配置文件都是純文本文件,能夠使用Notepad或WordPad等任意的文本編輯器進(jìn)行編輯。如果不愿意,我們并非一定要使用Visual Studio .NET作為
據(jù)我所知,這項(xiàng)技術(shù)最初是由Microsoft在1999年提出來(lái)的,也就是我們所熟知的"使用遠(yuǎn)程調(diào)用(remote calls)的DHTML / JavaScript web應(yīng)用程序".這項(xiàng)技術(shù)的核心就是通過(guò)瀏覽器發(fā)出一個(gè)異步的HTTP請(qǐng)求來(lái)調(diào)用服務(wù)端的網(wǎng)頁(yè)或服務(wù),在返回結(jié)果后,無(wú)需刷新就可以更新整個(gè)網(wǎng)頁(yè)。這項(xiàng)技術(shù)經(jīng)過(guò)不斷地完善,到目前為此,使用AJAX的web程序從表現(xiàn)上看已經(jīng)非常類似于Windows程序了。
由于這項(xiàng)技術(shù)的實(shí)現(xiàn)需要依賴于前端的瀏覽器,因此,它的使用受到了限制。但在最近的幾年,由于瀏覽器功能的加強(qiáng)和一些公司,如Google、Amazon.com的許多基于AJAX的應(yīng)用的不俗表現(xiàn),終于使這項(xiàng)技術(shù)鳳凰涅磐、欲火重生。
現(xiàn)在AJAX的使用已經(jīng)非常廣泛,任何帶有豐富用戶體驗(yàn)的動(dòng)態(tài)網(wǎng)頁(yè)都會(huì)不約而同地使用AJAX.
解決方案
本文所描述的使用AJAX的方法非常簡(jiǎn)單,而且效率很高。同時(shí)這種方法還非常容易維護(hù),并且開(kāi)發(fā)人員無(wú)需任何的特殊技巧就可以實(shí)現(xiàn)它,而且使用這種方法還可以跨瀏覽器。
一個(gè)基本的AJAX實(shí)現(xiàn)需要兩個(gè)主要部分:一個(gè)使用JavaScript代碼編寫的客戶端HTML頁(yè),這些JavaScript用來(lái)向服務(wù)端發(fā)送請(qǐng)求和接收響應(yīng);一個(gè)可以接收請(qǐng)求和向客戶端發(fā)送響應(yīng)信息的遠(yuǎn)程頁(yè)面�?蛻舳说腏avaScript代碼的任務(wù)是建立一個(gè)XmlHttp對(duì)象,然后向服務(wù)端發(fā)送請(qǐng)求信息,最后通過(guò)回調(diào)方式處理服務(wù)端返回的響應(yīng)信息。這一切都是由JavaScript代碼實(shí)現(xiàn)的。
本文的例子使用ASP.NET程序?qū)崿F(xiàn),在實(shí)現(xiàn)上要做到以下幾點(diǎn):1、AJAX可以在不同的ASP.NET頁(yè)上向不同的服務(wù)端頁(yè)發(fā)送請(qǐng)求。
2、遠(yuǎn)程頁(yè)面URL可以包含動(dòng)態(tài)可計(jì)算的參數(shù),這樣做可以在ASP.NET的后端代碼中更方便地建立URL字符串。
3、遠(yuǎn)程頁(yè)在更新HTML頁(yè)之前可以使用復(fù)雜的數(shù)據(jù)進(jìn)行響應(yīng),這也可以由ASP.NET的后端代碼完成。
4、一個(gè)服務(wù)端頁(yè)面可以是一個(gè)擴(kuò)展的第三方的頁(yè)面,也可以是本身的web頁(yè)或服務(wù)。
以上的幾點(diǎn)如圖1所示

圖1
實(shí)現(xiàn)基本的AJAX JavaScript方法我將JavaScript方法分成兩部分:調(diào)用特殊頁(yè)的JavaScript方法和一般的JavaScript方法。特殊的方法包括一個(gè)回調(diào)方法,它的作用是更新頁(yè)面內(nèi)容。而其它的AJAX方法負(fù)責(zé)建立一個(gè)XmlHttp對(duì)象,并向服務(wù)端發(fā)出一個(gè)異步的HTTP請(qǐng)求。
建立的XmlHttp對(duì)象因客戶端瀏覽器的不同而有所差異。本文只考慮兩種瀏覽器:一個(gè)是Microsoft的IE系列瀏覽器;另一個(gè)是Mozilla系列瀏覽器,包括Mozilla Firefox、Netscape和Safari.我也在Opera瀏覽器上測(cè)試過(guò),但我不能保證本文的代碼可以很好地運(yùn)行Opera瀏覽器上。下面是如何建立XmlHttp對(duì)象的代碼:
| 以下為引用的內(nèi)容: 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設(shè)計(jì)的,因此,我們可以不考慮MSXML5。
分享:淺談ASP.NET開(kāi)發(fā)下的MVC設(shè)計(jì)模式的實(shí)現(xiàn)ASP.NET是微軟最新推出的新型體系結(jié)構(gòu).NET框架的一部分,它為構(gòu)造新一代動(dòng)態(tài)網(wǎng)站和基于網(wǎng)絡(luò)的分布式應(yīng)用提供了強(qiáng)有力的支持。與以前的Web 開(kāi)發(fā)模型相比,ASP.NET 提供了許多重要的優(yōu)點(diǎn)例如: 簡(jiǎn)易性;安全性;可管理性等。而且與基于過(guò)程的ASP頁(yè)面技術(shù)相比,
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見(jiàn)代碼存在的偽造IP問(wèn)題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- ASP.NET中后臺(tái)注冊(cè)js腳本使用的方法對(duì)比
- ASP.NET 2.0發(fā)送電子郵件中存在的問(wèn)題
- 解析五種ADO.NET數(shù)據(jù)庫(kù)連接知識(shí)
- 如何實(shí)現(xiàn)在窗體和窗體之間進(jìn)行傳遞數(shù)據(jù)
- ASP.NET記錄錯(cuò)誤日志的實(shí)現(xiàn)方法
- C#如何在PPT中插入anychart圖表
- 使用ADO.NET2.0提升數(shù)據(jù)交互性能(2)
- GridView自動(dòng)增加序號(hào)(三種實(shí)現(xiàn)方式)
- C#后臺(tái)調(diào)用前臺(tái)Js函數(shù)
- 關(guān)于WPF使用MultiConverter控制Button狀態(tài)的詳細(xì)介紹
- 相關(guān)鏈接:
- 教程說(shuō)明:
.Net教程-淺談ASP.NET中使用AJAX的簡(jiǎn)單方法
。