public static List <HtmlPageCategoryBase> GetParentListFromRoot(this HtmlPageCategoryBase cate)
        {
            HtmlPageCategoryBase parent = cate.Parent;

            List <HtmlPageCategoryBase> list = null;

            while (parent != null)
            {
                if (list == null)
                {
                    list = new List <HtmlPageCategoryBase>();
                }
                list.Insert(0, parent);
                parent = parent.Parent;
            }

            return(list);
        }
        public static void BuildCateTree(this HtmlPageCategoryBase cate, List <HtmlPageCategoryBase> categoryList)
        {
            if (cate.Children == null)
            {
                cate.Children = new List <HtmlPageCategoryBase>();
            }

            foreach (var c in categoryList)
            {
                if (c.Parent.HtmlPageCategoryId == cate.HtmlPageCategoryId)
                {
                    if (!cate.Children.Contains(c))
                    {
                        cate.Children.Add(c);
                        c.Parent = cate;

                        BuildCateTree(c, categoryList);
                    }
                }
            }
        }