通过外层repeater的值来进行内层repeater的数据绑定
前台代码部分:
<asp:repeater runat="server" id="repeater1" OnItemDataBound="function2">
<itemtemplate>
<asp:repeater runat="server" id="repeater2">
<itemtemplate>
</itemtemplate>
</asp:repeater>
<itemtemplate>
</asp:repeater>
后台代码部分:
private void function1()
{
repeater1.datasource = datatable;
repeater1.databind();
}
private void function2(object sender,repeateritemeventargs e)
{
//判断里层repeater处于外层repeater的哪个位置(alternatingitemtemplate,footertemplate,headertemplate,itemtemplate,separatortemplate)
if(e.item.itemtype == listitemtype.item || e.item.itemtype == listitemtype.alternatingitem)
{
repeater rpt = e.item.findcotrol("repeater2") as repeater; //找到里层的repeater对象
datarowview row = (datarowview)e.item.dataitem; //找到分类repeater关联的数据项
int typeid = convert.toint32(row["id"]); //获取填充子类的id
rpt.datasource = datatable;
rpt.databind();
}
}