中继器中嵌套中继器的一个实例
复制代码代码如下所示:protected void page_load(object sender,EventArgs e)
{
如果(!页面的IsPostBack)。
{
this.dtcatery = getcaterytable();
this.dtproduct = getproducttable();
rptcaterylist.datasource = dtcatery;
RptCateryList.DataBind();
}
}
准备一个分类
DataTable GetCateryTable()
{
DataTable dt =新的DataTable();
Dt.Columns.Add(cateryid
Dt.Columns.Add(caterytitle
对于(int = i 1;i < 3;i + +)
{
行行= dt.newrow();
行{cateryid=我;
行{caterytitle=分类名称+我+ ;
Dt.Rows.Add(行);
}
返回DT;
}
准备一个产品表
DataTable GetProductTable()
{
DataTable dt =新的DataTable();
Dt.Columns.Add(产品称号
Dt.Columns.Add(cateryid
对于(int = i 1;i < 9;i + +)
{
行行= dt.newrow();
行{产品称号=产品名称+我+ ;
如果(我> 6)行{cateryid} = 3;
如果(我> 3)行{cateryid} = 2;
其他排{cateryid} = 1;
Dt.Rows.Add(行);
}
返回DT;
}
获取产品的一类
DataTable GetProductTable(int cateryid)
{
DataView DV = this.dtproduct.defaultview;
dv.rowfilter =cateryid =+ cateryid + ;
返回dv.totable();
}
protected void rptcaterylist_itemdatabound(object sender,repeateritemeventargs E)
{
如果(e.Item.ItemType ListItemType.AlternatingItem e.Item.ItemType | | = = = = item列表控件中的项的项目)
{
DataRowView.EndEdit DRV =(DataRowView.EndEdit)e.item.dataitem;
文字ltltitle =(直译)e.item.findcontrol(ltltitle );
LtlTitle。文本= DRV {caterytitle} ToString();
直放站rptproductlist =(中继器)e.item.findcontrol(rptproductlist );
rptproductlist.datasource = getproducttable(convert.toint32(DRV {cateryid ))))
RptProductList.DataBind();
}
}
protected void rptproductlist_itemdatabound(object sender,repeateritemeventargs E)
{
如果(e.Item.ItemType ListItemType.AlternatingItem e.Item.ItemType | | = = = = item列表控件中的项的项目)
{
DataRowView.EndEdit DRV =(DataRowView.EndEdit)e.item.dataitem;
文字ltltitle =(直译)e.item.findcontrol(ltltitle );
LtlTitle。文本= DRV {产品称号的ToString()};
}
}
aspx代码前面
复制代码代码如下所示:
表格ID =Form1runat=server>
Asp:直放站ID =rptcaterylistrunat=serverOnItemDataBound =rptcaterylist_itemdatabound>
ItemTemplate >
div class=列表>
div
Asp:字面id =ltltitlerunat=server>文字>
ASP:
div>
Asp:直放站ID =rptproductlistrunat=serverOnItemDataBound =rptproductlist_itemdatabound>
ItemTemplate >
李>
Asp:字面id =ltltitlerunat=server> ASP:文字>
Li>
ItemTemplate >
Asp:转发机>
ItemTemplate >
Asp:repeatdiv >
表>
div>
Asp:直放站ID =rptproductlistrunat=serverOnItemDataBound =rptproductlist_itemdatabound>
ItemTemplate >
李>
Asp:字面id =ltltitlerunat=server> ASP:文字>
Li>
ItemTemplate >
Asp:转发机>
ItemTemplate >
Asp:repeatdiv >
表>