两个Repeater嵌套,通过父Repeater的ID值循环得到子Repeater的内容。 
子里如何调用父的ID值找不到方法,望高手予以解决。
   <DtContorl:Repeater ID="classlist" runat="server" OnLoad="Channel_List_DataBind" Top="96" PageSize="0">
        <ItemTemplate>
    <%#Eval("Title")%>的文章<%#ClassIDZH(Eval("ID"))%>:<br />
    <DtContorl:Repeater ID="newsList" runat="server" OnLoad="Article_List_DataBind" Top="10"
        Where="IsLock=0 and ClassId in(select Id from Channel where KindId=0 and ClassList like '%,<%此处想为上一个Repeater的ID列值%>,%')">
        <ItemTemplate>
            <li><a href="/htmlarticle/<%#Eval("FilePath")%>/<%#Eval("FileName")%>">
                <%#Utils.CutString(Eval("Title").ToString().Trim(), 30)%>---<%# Utils.DateConver(Eval("AddTime").ToString())%></a></li>
        </ItemTemplate>
    </DtContorl:Repeater>
            </ItemTemplate>
    </DtContorl:Repeater>

解决方案 »

  1.   

    可以在前台中的cs类里变改下数据不久可以解决你发表的帖子了吗?
    //定义新dataTable 
    DataTable   dt   =   new   DataTable( "Tab_SumTab "); 
    //设置数据类型 
    DataColumn   dc1   =   new   DataColumn( "Tab_User_UserId ",   Type.GetType( "System.Int32 ")); 
    DataColumn   dc2   =   new   DataColumn( "Tab_Rights_RightName ",   Type.GetType( "System.String ")); 
    dt.Columns.Add(dc1); 
    dt.Columns.Add(dc2); 
    DataRow   dr   =   dt.NewRow(); 
    dr[ "Tab_User_UserId "]   =   id; 
    dr[ "Tab_Rights_RightName "]   =   name; 
    dt.Rows.Add(dr);
      

  2.   

    前台处理下数据不就可以用一个DataTable分别放在2个不同的Repeater中吗
      

  3.   

    你理解错了,我是想给 DtContorl:Repeater 里传ID值。
      

  4.   

    DataTable解决不了传ID值的问题
      

  5.   

    用触发ItemCommand事件吗?
    若是就在按钮上将CommandArgument='<%# Eval("id")%>'
    然后在事件里调用Convert.ToInt32(e.CommandArgument)就能获取值了
    不知道我理解的对吗?
      

  6.   

    这个很简单好不,在里面直接写<%#Eval("ID")%>  <DtContorl:Repeater ID="newsList" runat="server" OnLoad="Article_List_DataBind" Top="10"
      Where="IsLock=0 and ClassId in(select Id from Channel where KindId=0 and ClassList like '%,<%#Eval("ID")%>,%')">