1

カスタム実装に入る前に、MVC4 のエンティティからネストされたメニューを構築するためのビルトイン ヘルパーがあるかどうかコミュニティに尋ねたいと思います。次のようなデータの階層があります。

> Folder 1
> Folder 2
>> Folder 2.1
>> Folder 2.2
>>> Item 2.2.1
>>> Folder 2.2.1
>> Folder 2.3
> Folder 3

そして、ネストされた配列の配列(ネストされた配列[ネストされた配列の...])をコントローラーに渡して、対応するネストされたリンクのリストを構築することを考えています。これに飛び込む前に、いくつか質問があります。

  1. これを支援するために、どのようなツールを利用できますか?
  2. カスタムを構築する必要がある場合、どのデータ構造を使用しますか?

私は MVC/C# に全く慣れていないので、提案/ポインタは素晴らしいでしょう。

4

1 に答える 1

1

これを支援するために、どのようなツールを利用できますか?

私は個人的に、これに対する既製のソリューションに出くわしていません。

カスタムを構築する必要がある場合、どのデータ構造を使用しますか?

最善の策は、このためのカスタム クラスを構築することです。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);
            }
        }
    }
}

詳細が必要な場合は、このリンクに必要なものがすべて含まれています。

于 2013-03-10T03:40:31.000 に答える