2009-04-14 97 views
1

對,所以我必須在asp.net 2.0 winforms中構建一個web應用程序。我非常喜歡3.5 MVC。因爲它更乾淨,更精簡,更現代,對我更有意義。我知道3.5 MVC,並且來自Rails背景,所以這個webforms對我來說看起來還挺粗糙:P。.net 2.0 ajax樹

無論如何,我需要一個AJAX支持的樹控件,一個在擴展節點時通過ajax加載子樹。

在Asp MVC中,我會做類似於部分代表單個節點的事情,以及一個jQuery AJAX觸發的控制器操作,該操作呈現這些部分(子代)的集合,插入到目標的子div的innerHTML中。

AFAIC,在.NET 2.0我的選擇是:

  1. 作出這樣的表示單個節點的Web表單控件。使用Asp AJAX調用一個代碼隱藏方法,recursivley添加代表這個節點的子代的控件。 優點:非常適合官方的asp 2.0框架。挺容易。 缺點: webforms是粗略的(:p),並且使得這個站點升級到3.5更困難。

  2. 製作一個webservices方法,該方法將兒童作爲JSON列表返回,然後在客戶端JavaScript中將其格式化爲HTML,使用jQuery進行請求和格式化。 優點:由於json的開銷很低,因此速度很快。由於json-webservices可以輕鬆轉換到MVC控制器方法,所以更具前瞻性。 缺點:開發更多工作。 HTML最終與客戶端JavaScript(因爲沒有JSON/JavaScript模板可用)混在一起,這是可怕的(恕我直言)。

  3. 使用第三方網頁控件。 優點:最少的工作(在最好的情況下)。 缺點:必須評估使用哪一個。可能要購買。學習/處理控制api等。

  4. 還有其他的一些方法嗎?

那麼你們認爲最好的方法是什麼?

回答

0

我一直在使用ComponentArt的樹視圖。拿起來很容易。目前控制中的Web服務支持已被清除;然而,它確實允許你查詢一個url,它期望一個簡單的xml文檔,它轉換爲它的客戶端對象。非常容易和快速地獲得一個很好的全功能控制和運行速度非常快。

對於服務器端,我創建了一個ASHX頁面,這有助於將服務器端的開銷降到最低。

+0

我將永遠無法獲得$ 1000美元美元(〜$ 1600澳元)批准用於這些工具的許可證,但是漂亮的他們! :p – dalyons 2009-04-14 04:45:26

1

jstree.com