替换asp:Treeview for ASP.NET MVC应用程序

时间:2010-01-30 07:22:58

标签: asp.net-mvc treeview

到目前为止,我使用asp:Treeview处理了我的Web应用程序的所有动态菜单..

asp.net mvc 网络应用程序中对其进行任何合适的替换......

  • 任何可以像Treeview一样执行的HTML帮助程序?

3 个答案:

答案 0 :(得分:2)

我会使用基于jQuery的插件。与this one一样。

答案 1 :(得分:0)

在我的Mvc Controls Toolkit中,我有一个基于jQuery TreView的服务器控件。但是,我允许节点编辑,插入ov新节点,并通过用鼠标拖动将子树移动到另一个位置。发布视图时,所有更改都会自动反映在服务器端的数据结构上。此外,所有节点都是模板化的,并且相同的树可以具有不同类型的节点。看看这里: http://mvccontrolstoolkit.codeplex.com/wikipage?title=TreeView

答案 2 :(得分:0)

正如 Arnis 所说,使用Jquery插件,它非常简单! 我通过将代码和html封装在部分视图中作为用户控件来实现。你可以通过递归逻辑来做到这一点:

@helper ShowTree(TreeItem item, IEnumerable<TreeItem> tree)
    {

        var childs = folders.Where(g => g.ParentId == item.Id);
        if (childs.Count() == 0)
        {
    <text>
    <li class="last"><span class="folder">@item.Title</span></li>
    </text>
        }
        else
        {
    <text>
    <li class="expandable">
        <div class="hitarea expandable-hitarea">
        </div>
        <span class="folder">@item.Title</span>
        <ul style="display: none;">
            @{foreach (var child in childs)
              {
                @ShowTree(child, folders)
              }
            }
        </ul>
    </li>
    </text>
        }
}