让孩子们拥有树状结构

时间:2012-09-27 08:41:57

标签: c# tree parent-child

public JsonResult GetFolderChildren(int id, List<string> res)
    {
            List<tblFolders> folders = (from x in db.tblFolders
                                where x.folderParent == id
                                select x).ToList();
            foreach (var f in folders)
            {
                res.Add("FOLDER_" + f.id.ToString());
            }
            foreach (var r in res)
            {
                GetFolderChildren(int.Parse(r.Replace("FOLDER_", "")), res);
            }

        return Json(res, JsonRequestBehavior.AllowGet);
    }

但它不起作用。一个文件夹可以有孩子,他们的孩子可以有其他孩子等。 我的代码只给了我第一个孩子。

1 个答案:

答案 0 :(得分:0)

我不确定是什么语言,但如果我不得不猜测,那是因为你在文件而不是文件夹上调用“GetFolderChildren”。你可能意味着做反过来,也就是说,为每个文件夹调用“GetFolderChildren”,只需添加每个存在的资源。

此外,如果您不打算使用它,我会建议不要退货。修改列表似乎完成了效果。如果你需要最后一次调用来返回一个JsonResult对象,那么有两个方法,父类调用内部方法,父类返回JsonResult对象(避免不必要的性能损失)。