递归树

 

        /// <summary>
        /// 递归获取树
        /// </summary>
        /// <param name="parentId">父节点ID</param>
        /// <param name="originList">原始数据</param>
        /// <returns></returns>
        public List<Bd_ProductCategory_Tree_ViewModel> GetBdProductCategoryTreeViewList(int parentId, List<Bd_ProductCategory_ViewModel> originList)
        {
            List<Bd_ProductCategory_Tree_ViewModel> treeList = new List<Bd_ProductCategory_Tree_ViewModel>();
            List<Bd_ProductCategory_ViewModel> list = originList.Where(s => s.ParentId == parentId).ToList();
            foreach (var item in list)
            {
                Bd_ProductCategory_Tree_ViewModel bdProductCategoryTreeViewModel = new Bd_ProductCategory_Tree_ViewModel();
                if (!string.IsNullOrEmpty(item.ProductCategoryName))
                {
                    bdProductCategoryTreeViewModel.Key = item.ProductCategoryName;
                    bdProductCategoryTreeViewModel.Title = item.ProductCategoryName;
                }

                List<Bd_ProductCategory_Tree_ViewModel> childList = GetBdProductCategoryTreeViewList(item.Id, originList);
                if (childList != null && childList.Count > 0)
                {
                    bdProductCategoryTreeViewModel.Children = childList;
                }
                treeList.Add(bdProductCategoryTreeViewModel);

            }
            return treeList;
        }
public class Bd_ProductCategory_Tree_ViewModel
    {
        /// <summary>
        /// 标题
        /// </summary>
        [JsonProperty("Title")]
        public string Title { get; set; }
        /// <summary>
        /// 关键词
        /// </summary>
        [JsonProperty("Key")]
        public string Key { get; set; }
        /// <summary>
        /// 子品类
        /// </summary>
        [JsonProperty("Children")]
        public List<Bd_ProductCategory_Tree_ViewModel> Children { get; set; }
    }

 

posted @ 2018-02-05 17:08  字里行间  阅读(231)  评论(0编辑  收藏  举报