public IList<Category> Categories { get; set; }
        protected void Page_Load(object sender, EventArgs e)
        {//这是静态给categories赋值,怎么动态赋值呢,就是连接数据库后查询数据绑定categories,使他的数据成下面一样显示            Categories = new List<Category> 
            { 
                new Category
                {
                    Name = "category 1",
                    Children = new List<Category>
                    {
                        new Category 
                        {
                            Name="category 1-1",
                            Children = new List<Category>{}
                        },
                        new Category
                        {
                            Name="category 1-2",
                            Children = new List<Category>{}
                        },
                    } 
                },
                new Category{
                    Name ="category 2",
                    Children = new List<Category>{
                        new Category{
                            Name = "category 2-1",
                            Children = new List<Category>{}
                        },
                        new Category
                        {
                            Name = "category 2-2",
                            Children = new List<Category>{}
                        }
                    }
                }
            };
        }
 

解决方案 »

  1.   

    查询结果你构造Category呗,然后添加到Categories集合。
      

  2.   

    忘了贴了这是连起来最后的代码
      public string RenderCategory(IList<Category> cat)
            {
                StringBuilder sbHtml = new StringBuilder();
                sbHtml.Append("<ul>");
                foreach (var item in cat)
                {
                    sbHtml.AppendFormat("<li><a href='#'>{0}</a>", item.Name);
                    sbHtml.Append(RenderCategory(item.Children));
                    sbHtml.Append("</li>");            }
                sbHtml.Append("</ul>");
                return sbHtml.ToString();
            }
            public class Category
            {
                public int id { get; set; }
                public string Name { get; set; }
                public string Parent { get; set; }
                public IList<Category> Children { get; set; }
            }
        }
      

  3.   

    写法好蛋疼 add
      

  4.   

    先从 reader对象读出来,
    然后直接复制给  Category 对象
    最后 List<Category>   的add方法,添加Category对象 。其实,我觉得你用 ef更方便点。 
      

  5.   

    问一下Ilist children这个怎么赋值啊,这样吗,Catogry.children=new list(){name=dt.rows[i]["Name].tostring,id=.....}我要实现这样一个效果                                    Catogry1                                                         Catogry1-1                                              Catogry1-2                                                  Catogry2                                                 Catogry2-1                                             Catogry2-2
      

  6.   

    问一下Ilist children这个怎么赋值啊,这样吗,Catogry.children=new list(){name=dt.rows[i]["Name].tostring,id=.....}我要实现这样一个效果                                    Catogry1                                                         Catogry1-1                                              Catogry1-2                                                  Catogry2                                                 Catogry2-1                                             Catogry2-2
    可以无限极分类下去的