public ActionResult GetAll(int draw) { //递归生成json数据 //1.获取所有一级节点 var rootList = bll.GetSub(0); List <ProductCategoryVModel> list = new List <ProductCategoryVModel>(); foreach (var category in rootList) { ProductCategoryVModel vModel = new ProductCategoryVModel(); vModel.ID = category.ID; vModel.Name = category.Name; vModel.OrderNum = category.OrderNum; vModel.Img = category.Img; vModel.PID = category.PID; vModel.Path = category.Path; vModel.KeyWords = category.KeyWords; //初始化子节点集合 vModel.children = new List <ProductCategoryVModel>(); GetSub(vModel); list.Add(vModel); } var result = new { draw = draw, data = list }; return(Json(result)); }
//获取父节点下的所有子节点 private void GetSub(ProductCategoryVModel parentNode) { var subList = bll.GetSub(parentNode.ID); //判断子节点下是否还包含子节点 if (subList.Count() == 0) //相当于递归终止条件 { return; } foreach (var category in subList) { ProductCategoryVModel vModel = new ProductCategoryVModel(); vModel.ID = category.ID; vModel.Name = category.Name; vModel.OrderNum = category.OrderNum; vModel.Img = category.Img; vModel.PID = category.PID; vModel.Path = category.Path; vModel.KeyWords = category.KeyWords; //初始化子节点集合 vModel.children = new List <ProductCategoryVModel>(); GetSub(vModel); //开始进行递归 parentNode.children.Add(vModel); } }
public ResponsMessage <List <ProductCategoryVModel> > GetAll() { //递归生成json数据 //1、获取所有一级节点(分类) var rootList = Bll.GetSub(0); List <ProductCategoryVModel> list = new List <ProductCategoryVModel>(); foreach (var category in rootList) { ProductCategoryVModel vModel = new ProductCategoryVModel(); vModel.ID = category.ID; vModel.Name = category.Name; vModel.KeyWords = category.KeyWords; vModel.OrderNum = category.OrderNum; vModel.Img = category.Img; vModel.PID = category.PID; vModel.children = new List <ProductCategoryVModel>();//初始化子节点集合 GetSub(vModel); list.Add(vModel); } return(new ResponsMessage <List <ProductCategoryVModel> >() { Code = 200, Message = "请求成功", Data = list }); }