asp.net(c#)2.0 开发WebForm后台数据结构如下:
  
    public class GoodsCate
    {
        private int _id;
        private string _cateName;        private IList<GoodsCate> _catechild;//子类        public GoodsCate() { }//构造函数        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }        public string CateName
        {
            get { return _cateName; }
            set { _cateName = value; }
        }        public IList<GoodsCate> CateChild
        {
            get {return _catechild; }
            set {_catechild = value; }
        }
    }
前台绑定数据的时候,如果是绑定Id,那么写成<%#Eval("Id")%>就没有问题!
现在我想要绑定CateChild成员里面的Id,请问:前台绑定代码要如何写??学习,关注…………

解决方案 »

  1.   

    LZ:补充说明,在使用Repeater绑定数据的时候,我是这样绑定的:
    <asp:Repeater ID="GoodCateRP" runat="server" datasourceid="ObsCate">
                <ItemTemplate>
                    
                        <%#Eval("Id")%>
                    </a>
                    <br />
                    <asp:Repeater id="CateChild" DataSourceID="<%#Eval("CateChild")%>" runat="server">
                        <itemtemplate>
                                <%#Eval("Id")%>//问题:这里的Id的值与上面的Id值一样,不是CateChild里面的Id
                            </a>
                        </itemtemplate>
                        <separatortemplate>
                            |
                        </separatortemplate>
                    </asp:Repeater>
                </ItemTemplate>
                <separatorTemplate>
                    <hr />
                </separatorTemplate>
            </asp:Repeater>请大家指点一下……………………
      

  2.   

    我一般不把 private IList<GoodsCate> _catechild;//子类 定义在Model类里,而是在取到数据集后,在用 IList<> 集合,也就是 PetShop 里的使用方法IList<GoodsCate> IGC = List<GoodsCate>();
    using(SqlDataReader Dr = SqlHelper.GetDataReader(......))
    {
         while(Dr.Read())
         {
              GoodsCate Gc = new GoodsCate();
              Gc.Id = int.Parse(Dr["ID"].toString());
              Gc.CateName = Dr["CateName"].toString();          IGC.Add(Gc);
              
         }
    }
    然后将 IGC 返回,用数据集控件(如Repeater)的 DataSource 属性接收    Repeater1.DataSource = IGC;
        Repeater1.DataBind();这样在前台显示的时候就可以照你那样显示了
      

  3.   

    TO:milo4210(米罗) 你说的方法我懂,但是问题是:我要获取得到外面的repeater的ID,才能知道里面的REPEATER的ID!也就是说,里面的ID,是需要通过外面的ID做为参数来获取的!现在我就是不清楚外面的ID如何获取???请在指点一下!!
      

  4.   

    LZ:问题已经解决,"<%#Eval("CateChild")%>"的双引号换成单引号就OK了!!!日哦,搞了我半天!!!!