邢苗苗 高麗(內蒙古商貿職業學院,內蒙古自治區呼和浩特 010010)
ASP.NET中AJAX技術基礎及應用
邢苗苗 高麗
(內蒙古商貿職業學院,內蒙古自治區呼和浩特 010010)
本文主要介紹AJAX概念的提出,核心組件,基本技術及技術的基本原理,ajax的特點是: 基于Web標準,使用文檔對象模板(Document Object Model)作動態顯示和交互;使用XML和XSLT進行數據交換及相關操作;使XMLHTTPRequest進行異步數據查詢和接收;使用JavaScript將所有的東西綁定在一起。能在不更新整個頁面的前提下維護數據。這使得Web應用程序更為迅捷地回應用戶動作,并避免了在網絡上發送那些沒有改變過的信息。結合實際,簡述ajax在ASP.NET中的應用。
AJAX ASP.NET XMLHTTPRequest應用
1.1 ajax技術的背景
在國內通常把AJAX翻譯成“阿賈克斯”。這個專業術語所表達的一種轉換的過程,即以Web應用為主到以數據應用為主。在以數據應用為主的過程中,從相對獨立的網頁服務端取得用戶需要的各種數據,并寫入網頁當中,這樣就可以讓用戶真正的實現Web的應用體驗過程。
不可否認,ajax技術的流行很大程度得益于google的大力推廣,正是由于google earth等對ajax技術的廣泛應用,催生了ajax的流行。但是早在97年,Ajax中涉及到的一些核心技術已經被微軟發明出來了,當IE5推出之際,它便開始支持XmlHttpRequest對象,但是不得不說,即便這種關鍵技術已經被發明了,卻沒有用預見性的眼光看到它的發展前景和潛力,從而將其束之高閣,沒有真正的推廣和發展起來。
1.2 ajax的核心技術及原理
Ajax的核心是JavaScript對象XmlHttpRequest。該對象在Internet Explorer 5中首次引入,它是一種支持異步請求的技術。簡而言之,XmlHttpRequest使您可以使用JavaScript向服務器提出請求并處理響應,而不阻塞用戶。Ajax對服務器沒什么要求,可以為Java EE應用程序,.NET應用程序和其他類型的應用程序服務。可以通過Ajax,可以編寫javascript代碼來改進HTML,創建出豐富的交互性用戶體驗。
AJAX實際上不是一種語言,甚至算不上一種技術,它是幾種技術的有機結合如Javascript、XML、CSS等等,其實有時還會用到更多的技術,如java。 Javascript作為腳本語言,用Javascript操作XML 和CSS,用XML做為數據的存儲介質,用CSS顯示效果和狀態使用及DOM進行動態顯示及交互。
不得不再次著重提一下XMLHttpRequest,就我認為這是真正Ajax的核心,它可以模擬Request對象自行向服務器提交請求,并返回請求結果,這就摒棄了原有的需要花費很長時間等待的空白瀏覽器顯示頁,用句不怎么術的術語說就是“動態無刷新”。
并且要提一下不同的瀏覽器實現的方式不一樣,如Mozilla,Firefox,Safari,和Netscape瀏覽器都是需要不同的功能實現。
2.1 使用ScriptManager控件調用Web服務
在AJAX程序運轉的過程中,腳本管理的控件是其基礎,即ScriptManager。實際上它是一種Web控件,頁面所涉及到的頁面局部或者是組件的更新都是由它來處理的,從而生成客戶端代理腳本,可以方便用戶在JavaScript中進行Web Service的相關程序。
2.2 UpdatePanel控件實現局部更新
AJAX在ASP.NET中最關鍵的、最核心的技術就是局部更新。局部更新的Web應用程序可以有多種多樣的表現形式,不需要整個頁面進行刷新,可以根據客戶的需求針對某一指定的頁面進行刷新,針對不同的、單獨的更新頁面的需求,可以用多個UpdatePanel控件來實現。
在UpdatePanel控件中,有兩個標簽需要引起足夠的重視,即Triggers標簽和ContentTemplate標簽,其中UpdatePanel控件中的內容部分是由ContentTemplate標簽來決定的,任何類型的ASP.NET控件都可以放置在這個地方,因為其在ContentTemplate標簽的作用下,可以使頁面無刷新的更新操作得以實現。局部更新的觸發器主要是由Triggers標簽來決定的,主要包括兩種觸發器的類型,即PostBackTrigge觸發器和Async-PostBackTrigge觸發器。Async-PostBackTrigge觸發器指的是部分更新,通過ControlID來指定控制ID和EventName來指定控制事件來實現。當EventName的值無法確定的時候,其會自動的采用控件的默認值。
[1]章立民研究室.ASP NET AJAX經典范例168(VC#版)[M].北京:機械工業出版社,2007,8.
[2]敖麗敏,李林輝.基于AJAX的電力圖形系統的實現[J].電力系統自動化,2007,31(9):47-50.
[3]作者:(美)阿斯利森.(美)舒塔.譯者:金靈,等.Ajax基礎教程(圖靈程序設計叢書)[M].北京:人民郵電出版社,2006,2.
[4]譚力,楊宗源,謝瑾奎等.Ajax技術的數據響應優化[J].計算機工程,2010,36(7):52-54.
[5]陳黎夫.ASP.NET AJAX 程序設計.應用[M].北京:人民郵電出版社,2007.
[6]張躍廷,顧彥玲.ASP.NET從入門到精通[M].北京:清華大學出版社,2008,9.
[7]王麗娜,李懷,趙磊等.基于模擬用戶的 Ajax Web 自動化測試模型[J].華中科技大學學報(自然科學版),2016,44(3):1-5.