2012-09-27 2 views
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); 
    } 

하지만 작동하지 않습니다. 폴더는 자식을 가질 수 있고 자식은 다른 자식을 가질 수 있습니다. 내 코드는 제게 첫 번째 자식을줍니다.나무 구조의 자식 가져 오기

+0

리프 폴더를 원하십니까? 다음 나는 해결책이있다, 또는 당신은 파일 인 나무의 잎을 원하는가? – MrFox

+0

@MrFox 아니, 폴더의 모든 자녀, 손자 등 싶습니다. –

답변

0

는 I는 그 어떤 언어 모르겠지만, 추측했다 경우 파일이 아닌 폴더에 "GetFolderChildren을"전화하는거야 때문입니다. 당신은 아마 각 폴더에 대해 "GetFolderChildren"을 호출하고 단순히 각 자원을 추가하는 역함수를 수행하는 것을 의미합니다.

또한, 나는 당신이 그것을 사용하려고하지 않는 경우 뭔가를 반환에 대해 조언한다. 이 효과는 목록을 수정하여 완성 된 것 같습니다. 마지막 호출에서 JsonResult 객체를 반환해야하는 경우에는 부모가 내부 메서드를 호출하여 부모가 JsonResult 객체를 반환하는 두 가지 메서드 (불필요한 성능 손실 방지)가 있어야합니다.

관련 문제