0
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);
    }

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

4

1 回答 1

0

我不确定那是什么语言,但如果我不得不猜测,那是因为您在文件而不是文件夹上调用“GetFolderChildren”。您可能打算做相反的事情,也就是说,为每个文件夹调用“GetFolderChildren”并简单地添加每个存在的资源。

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

于 2012-09-27T08:47:19.460 回答