در repeater اول، از رویداد ItemDataBound استفاده کن و در آن،repeater دوم را مقدار بده. البته در مثال زیر ماز یک گرید در داخل یک repeater استفاده کردم. ولی فرقی نمی کنه:
protected void rpGroups_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
{
int groupId = int.Parse(DataBinder.Eval(e.Item.DataItem, "GroupId").ToString());
GridView gv = ((GridView)e.Item.FindControl("gvForums"));
Label lb = ((Label)e.Item.FindControl("lblForumsMessage"));
lb.Visible = false;
using (DataTable dt = ForumsDataAccess.Forums_GetBy_GroupId(groupId, true))
{
if (dt == null)
{
gv.Visible = false;
lb.Visible = true;
lb.Text = "خطا در بازیابی فروم ها!";
}
else if (dt.Rows.Count == 0)
{
gv.Visible = false;
lb.Visible = true;
lb.Text = "در این گروه فرومی وجود ندارد!";
}
else
{
gv.Visible = true;
lb.Visible = false;
gv.DataSource = dt;
gv.DataBind();
}
}
}
}