ASP.NET AJAX的體繫結構是建產在ASP.NET 2.0基礎之上的,是對ASP.NET 2.0功能的一種擴充。這種擴充是在用戶端和伺服器兩方面進行的。ASP.NET AJAX就是微軟使用一個豐富的用戶端指令碼庫和一個重要的伺服器端功能層增強了ASP.NET的功能。因此,認識ASP.NET AJAX應從用戶端和伺服器端兩方面去學習。
(圖片來源於Google圖片搜尋)
,ASP.NET AJAX的體繫結構,分為用戶端(Client)和伺服器端(Server)兩部分。
1)ASP.NET AJAX對用戶端的擴充主要是增加了Microsoft AJAX Library這一程式碼程式庫,它包含了所有用戶端功能,是由一些使得 ASP.NET AJAX 可以工作的JavaScript檔案組成。Microsoft AJAX Library史無前例地擴充了JavaScript的功能,比如:可以使用面各對象的特性建立用戶端指令碼,例如:類、繼承、介面等;還擴充了具有C#開發人員熟悉的類,例如:StringBuilder 和Timer類。這大大簡化了用戶端的開發。
2)ASP.NET AJAX在伺服器端提供了相當豐富的功能,包括一些組件和控制項,如:ASP.NET AJAX Extensions和ASP.NET AJAX Control Toolkit裡的控制項等。它使得AJAX的開發變得相當簡單。這在第二天的學習中已深有體會了。當然,這也是微軟的一貫風格。常見的伺服器控制項主要是ASP.NET AJAX Extensions下的那幾個,
ScriptManager:管理用戶端指令碼,在每個頁面只允許有一個它的執行個體,是每個啟用ASP.NET AJAX的Web表單所必需的。
ScriptManageProxy:如果Master頁麵包含ScriptManager控制項,但同時想在內容頁中使用ASP.NET AJAX功能,又由於每個頁面只能有一個ScriptManager的執行個體,所以這個內容頁必須使用一個ScriptManagerProxy控制項來協調和ScriptManager的指令碼管理
UpdatePanel:任何位於UpdatePanel中的控制項都可以簡單地進行AJAX風格的局部重新整理
UpdateProgress:顯示一個狀態列(或其他動畫)以在進行了一個長時間AJAX請求時,給使用者一個反饋資訊
Timer:用於按精確的時間間隔來執行用戶端事件,例如每X秒重新整理一次UpdatePanel