public JsonResult ConstructJsTree(string folderPath, string libName, string name) { try { var menu = new Menu() { LibraryName = libName, FolderPath = folderPath, Name = name }; var jsTree = MenuService.GetJsTree(menu); var jsTreeModel = ConvertToModel(jsTree); var javaScriptSerializer = new System.Web.Script.Serialization.JavaScriptSerializer(); var jsonString = javaScriptSerializer.Serialize(jsTreeModel); return Json(jsonString, JsonRequestBehavior.AllowGet); } catch (Exception ex) { throw ex; } }
//Recursive Function public void CreateTreeMenu(Menu menuObj, MenuModel toMenuModel) { foreach (var item in menuObj.Children) { var subMenuObj = new MenuModel { Name = item.Name, ActionName = item.ActionName, ControllerName = item.ControllerName, FolderPath = item.FolderPath, LibraryName = item.LibraryName, Class = item.Class, Type = item.Type, Id = item.Id, ParentFolderPath = item.ParentFolderPath }; if (item.Children.Count > 0) CreateTreeMenu(item, subMenuObj); toMenuModel.Children.Add(subMenuObj); } }
public JsTree GetJsTree(Menu menu) { return MenuDao.GetJsTree(menu); }