62,050
社区成员
发帖
与我相关
我的任务
分享
<asp:Repeater ID="rptAsk" runat="server" OnItemDataBound="repAsk_ItemDataBound">
<ItemTemplate>
<div>
<%#Eval("Ask_Title")%></div>
<asp:Repeater ID="rptReply" runat="server">
<ItemTemplate>
<div><%#Eval("Reply")%> </div>
</ItemTemplate>
</asp:Repeater>
</li>
</ItemTemplate>
</asp:Repeater>
protected void repAsk_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
conn.open();
根据askid取回复 ds;
conn.close();
rptReply绑定;
}
ParentRepeater.ItemDataBound += new RepeaterItemEventHandler(ParentRepeater_ItemDataBound);
DataTable table = GetParentData();
if (table != null)
{
ParentRepeater.DataSource = table.DefaultView;
ParentRepeater.DataBind();
}
2.在外层Repeater(ParentRepeater)的ItemDataBound事件中绑定内层Repeater即可:
protected void ParentRepeater_ItemDataBound(object obj, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataRowView row = (DataRowView)e.Item.DataItem;
Repeater child = (Repeater)e.Item.FindControl("ChildRepeater");
//此处可以获取表一的ClassName
string className = row["ClassName"].ToString()
//获取父ID
int parentClassID = row["ClassID"].ToString();
//根据父ID读取跟父ID关联的数据绑定到内部Repeater
DataTable table = GetChidData(parentClassID);
if (table != null)
{
child.DataSource = table.DefaultView;
child.DataBind();
}
}
}