ASP.NET MVC 3 樹形視圖
我需要在我的 MVC3 應用程序中顯示一個 Treeview。將有一個自引用的分層表(文件夾)和另一個連結到它的表(文件。)(因此文件夾可以有 N 個子文件夾,任何文件夾/子文件夾都可以有許多文件。)
我研究過使用第三方供應商,例如 Telerik、DJME 和 MVC Controls Toolkit。雖然所有的軟體包都很不錯,但我對許可證感到不安,而且由於我是 MVC 的新手(以及一般的程式),我發現他們的文件缺乏正確的顯示工作。
我還查看了 TreeViews 上被大量引用的部落格:
除了其他引用較少的文章(前 3 篇也很豐富):
- http://tpeczek.com/2010/01/asynchronous-treeview-in-aspnet-mvc.html
- http://mikehadlow.blogspot.com/2008/10/rendering-tree-view-using-mvc-framework.html
- http://www.tek-tips.com/viewthread.cfm?qid=1637392&page=4
- http://weblogs.asp.net/jigardesai/archive/2008/02/04/display-hierarchical-data-in-asp-net-mvc-framework.aspx
- http://www.jigar.net/articles/viewhtmlcontent311.aspx
- http://help.syncfusion.com/ug_82/ASP.NETMVCUI_Tools/CreatingATreeViewControl.html
我想使用 TreeViewHelper 或遞歸局部視圖方法。
但是,在 TreeViewHelper 中,我無法讓它從第二個表中提取數據(即,我只能讓它列出文件,但我不確定如何讓它列出每個文件的文件。)
對於遞歸局部視圖,我仍然不知道如何將其轉換為 MVC3 以及一般實現。我確實找到了一個文章(forums.asp.net/t/1652809.aspx/1?treeview+with+mvc+3),它解釋瞭如何將它的一部分轉換為 MVC3,但我仍然不清楚怎麼辦。我不斷收到部分視圖的錯誤:無法將類型“void”隱式轉換為“object”類型
就像我之前所說的,我是 MVC3 的新手,想了解哪種方法最適合我的場景以及如何實現它。
如果有人想知道,我解決這個問題的方法是使用遞歸局部視圖。我遇到的問題是我沒有在 SQL/EF 中設置自引用關係(我只有 ParentID 欄位沒有連結到主鍵。)我還集成了 jsTree,因為它有一個很多漂亮的功能,如搜尋。
就像我在上面的評論中所說的那樣,@Html.Action 和 @Html.Partial 工作,而不是 @Html.RenderAction 和 @Html.RenderPartial。
在此處查看我的 Mvc 控制項工具包的編輯/添加/刪除/節點移動模板化 TreeView:http://mvccontrolstoolkit.codeplex.com/wikipage?title= TreeView