如何建立一个嵌套的菜单与MVC4
本文关键字:嵌套 MVC4 一个 菜单 何建立 建立 | 更新日期: 2023-09-27 18:03:21
在我进入自定义实现之前,我想询问社区是否有任何内置的帮助器用于在MVC4中构造实体的嵌套菜单。我有一个这样的数据层次结构:
> Folder 1
> Folder 2
>> Folder 2.1
>> Folder 2.2
>>> Item 2.2.1
>>> Folder 2.2.1
>> Folder 2.3
> Folder 3
我正在考虑将嵌套数组的数组(嵌套数组的数组[嵌套数组的数组…])传递到控制器中,以构建相应的嵌套链接列表。在深入讨论这个问题之前,我有几个问题:
- 如果有的话,有什么工具可以帮助解决这个问题?
- 如果你必须构建自定义,你会使用什么数据结构?
我对MVC/c#完全陌生,所以任何建议/指针都会很棒。
如果有的话,有什么样的工具可以帮助实现这一点?
我个人还没有找到现成的解决方案。
最好的办法是为此构建一个自定义类。比如一个如果你必须构建自定义,你会使用什么数据结构?
tree
有一个dictionary of nodes
。您可以构建一个自定义的,如下:
public class Tree
{
private TreeNode rootNode;
public TreeNode RootNode
{
get { return rootNode; }
set
{
if (RootNode != null)
Nodes.Remove(RootNode.Id);
Nodes.Add(value.Id, value);
rootNode = value;
}
}
public Dictionary Nodes { get; set; }
public Tree()
{
}
public void BuildTree()
{
TreeNode parent;
foreach (var node in Nodes.Values)
{
if (Nodes.TryGetValue(node.ParentId, out parent) &&
node.Id != node.ParentId)
{
node.Parent = parent;
parent.Children.Add(node);
}
}
}
}