我想做的是
<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/