ASP.Net 3.5 AJAX - 基本觀念 (1)

ASP.Net 3.5 AJAX - 基本觀念 (1)

 

(1) ASP.Net Control Toolkit 是 ASP.Net 3.5 AJAX 的延伸計畫,微軟在 CodePlex 上,免費提供 ASP.Net Control Toolkit 3.5 控件組合。

 

(2) 微軟提供 ASP.Net Control Toolkit 3.5 的 Sample Website 做為示範網站

 

(3) 所有 ASP.Net AJAX 網頁,必須要有 ScriptManger 控制項,而且必須被最先載入。

 

(4) ASP.Net Control Toolkit 的 ToolkitScriptManager 是 ScriptManager 的增強版。ToolkitScriptManager 主要的功能,是即時性地將多個 Javascript 檔案打包單一檔案下載,減少網路連線要求個數,也減少 JavaScript 下載的大小。所以,建議使用 ToolkitScriptManager 控制向來取代 ScriptManager。

 

(5) 一般 ASP.Net 網頁上的控制項事件動作(例如: Button 的 Click ),網頁都會執行一次 Postback 動作,網頁會因此重新載入。ASP.Net AJAX 網頁不同於傳統 ASP.Net 網頁的是,在網頁中放置 UpdatePanel ,則 UpdatePanel 內的控制項事件動作是 Async-Postback 動作。

 

(6) Async-Postback 動作並不會導致網頁重新刷新載入,僅會更新 1. 所在的 UpdatePanel 內的內容 2. 頁面上所有 UpdatePanel 的 UpdateMode 屬性設為 Always 內的內容。

 

(7) UpdatePanel 的涵蓋範圍,請儘量縮小至最小更新範圍,避免大範圍更新內容。否則,ASP.Net 網頁與 ASP.Net AJAX 網頁最大的差別,只在於 ASP.Net 會有明顯刷新頁動作;ASP.Net AJAX 則不會。

 

(8) 承 (6) 請預先將 UpdateMode 設定為 Conditional,防止被其它控制項觸發,導致 UpdatePanel 在不知不覺中也被更新。

 

(9) UpdatePanel 的 UpdateMode 設定為 Conditional 後,觸發更新的條件為設定 UpdateTrigger 或是利用程式碼控制執行 UpdatePanel.Update() 方法。

 

(10) UpdatePanel 的 ChildrenAsTriggers 預設設定為 True,代表位於該 UpdatePanel 內的子控制項也為 UpdateTrigger。只要 UpdatePanel 內的子控制項發生 Postback 動作也為 Async-Postback,完成該動作後就會一併更新 UpdatePanel 內的內容。

 

一些些心得與筆記,希望大家不吝指教….