Here we will briefly describe the key part of implementation:
1. Repeater binding; 2. It is very easy to bind datalistrepeater to the itemdatabound event of repeater. Net. The key lies in the nested datalist. The following is the itemdatabound event of repeater:
protected void rptEmoteClass_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataList dl = (DataList)e.Item.FindControl("dlEmote");
DataRowView drview = (DataRowView)e.Item.DataItem;
int _classId = Convert.ToInt32(drview["classid"]);
using (NT.Data.SqlServer.CmsTuyuOperator tuyu = new NT.Data.SqlServer.CmsTuyuOperator())
{
DataSet ds = tuyu.ListEmoteAlbum(_classId, 16);
if (ds != null)
{
dl.DataSource = ds.Tables[0].DefaultView;
dl.DataBind();
}
}
}
}
The key is to obtain the classid bound to datalist:
DataRowView drview = (DataRowView)e.Item.DataItem; int _classId = Convert.ToInt32(drview["classid"]);
Others are the binding statement !!
This method can then be extended to datalist nested datalist, repeater nested repeater, or even third-level nesting !!