2009-08-03 7 views

Antwort

5

Sie diese Technik erreichen kann mit ....

<asp:Repeater ID="rptOuter" runat="server" DataSourceID="odsOuter" 
     onitemdatabound="rptOuter_ItemDataBound"> 
     <ItemTemplate> 
      <asp:Label ID="lblFirst" runat="server" Text='<%# Eval("first")%>'></asp:Label> 
      <asp:Repeater ID="rptInner" runat="server" DataSourceID="odsInner"> 
       <ItemTemplate> 
        <asp:Label ID="lblSecond" runat="server" Text='<%# Eval("second")%>'></asp:Label> 
        <asp:Label ID="lblThird" runat="server" Text='<%# Eval("third")%>'></asp:Label> 
       </ItemTemplate> 
      </asp:Repeater> 
     </ItemTemplate> 
    </asp:Repeater> 

Code hinter

protected void rptOuter_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem)) 
    { 
     ((Label)e.Item.FindControl("lblFirst")).Text = "New Text"; 

     ((Repeater)e.Item.FindControl("rptInner")).DataSource = ""; 
     ((Repeater)e.Item.FindControl("rptInner")).DataBind();//bind data to inner repeater.. 
    } 
}