我想做的是

       <asp:Repeater ID="ParentRepeater" runat="server" OnItemDataBound="ItemBound">
            <ItemTemplate>
               <asp:Repeater ID="Repeater_SideMenu_Guides_Medlem" runat="server">
                   <ItemTemplate>
                   </ItemTemplate>
               </asp:Repeater>
            </ItemTemplate>
        </asp:Repeater>


代码隐藏

 ParentRepeater.DataSource = CraftGuides.GetAllGroups();
 ParentRepeater.DataBind();

 protected void ItemBound(object sender, RepeaterItemEventArgs args)
    {
        if (args.Item.ItemType == ListItemType.Item)
        {
            Repeater childRepeater = (Repeater)args.Item.FindControl("ChildRepeater");
            childRepeater.DataSource = CraftGuides.GetGuidesByGroupID( Insert ID from Parent Here );
            childRepeater.DataBind();
        }
    }


现在,我不知道要从孩子内部的父母那里获取ID来从数据库中收集数据

最佳答案

假设您有一个Group对象,则可以使用以下内容:

var item = args.Item;
var dataItem = item.DataItem as Group;


然后,您可以轻松获取组对象的ID并将其传递到您的GetGuidsByGroupID()中。

我喜欢使用as关键字,因为如果强制转换失败,它将返回null。如果(Group)item.DataItem失败,将引发异常。

关于c# - 子代中继器从背后的代码中的父代中继器获得值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7956202/

10-13 06:57