(一). 說明
用Tree顯示菜單及物品列表(從服務端擷取資料)比較方便, 當前顯示Tree 主要有兩種方式:
1. 在Tree初始化時將資料全部一次性從服務端擷取, 擷取完資料後頁面展開或收縮時就不再需要擷取資料,
這樣, 擷取完資料使用時效率比較高, 但當樹節點很多時, 在每次初始化時會有較大的延遲.
2. 初始化時只載入展開的節點, 當使用者需要查看某個節點下的資料時, 再去取資料, 這樣, 初始化時延遲會相
對減少, 但每次單擊節點時要擷取資料, 頁面每次都要重新整理, 所以也會產生延遲.
此案例用Ajax實現第二種方式, 每次只動態載入要展開的節點資料(閉合節點不展開時,則不擷取其子節點的
資料), 另外載入節點時頁面不會重新整理.
(二). 運行樣本圖
(三). AjaxPro.NET簡介
首先對AjaxPro.NET作一下介紹, AjaxPro.NET是一個優秀的Ajax架構, 在實際應用中只要添加其DLL
引用並進行簡單的配置, 即可以非常方便的在用戶端直接調用服務端方法, 來擷取Tree節點.
(四).使用AjaxPro.NET預配置
1. 添加 AjaxPro.DLL 檔案的引用(範例程式碼中已經包含,直接COPY過來使用即可).
2. 在Web.config檔案中添加以下配置,
1 <httpHandlers>
2 <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro" />
3 </httpHandlers> 3. 在要使用AjaxPro.NET架構的頁面 *.aspx.cs 的 Page_Load事件中加如下代碼: AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default)); 4. 經過以上三步驟後, 只要在後台服務端的方法前面增加屬性[AjaxMethod]後: 1 [AjaxMethod()] // or [AjaxPro.AjaxMethod]
2 public ArrayList GetSearchItems( string strQuery )
3 {
4 //產生資料來源
5 ArrayList items = new ArrayList();
6 items.Add("King");
7 items.Add("Rose");
8 return items ;
9 }
10 就可以在用戶端直接使用服務端方法, 非常方便, 用戶端調用後台代碼如下:var returnValue = 後台代碼類名.GetSearchItems(參數);代碼:www.cnitblog.com/Files/ChengKing/AjaxPro.net_EfficientTree.rar文章引用自: