【IT168技术文档】
内层控件数据绑定与事件声明在外层的ItemDataBind中实现;例子中外层DataList的Id为dlQuestion,内层为dlItem;代码如下
private void dlQuestion_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
if ( e.Item.ItemType == ListItemType.EditItem || e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem )
{
LinkButton lb = (LinkButton)e.Item.FindControl("lbtnDelete");
if ( lb != null )
lb.Attributes.Add("onclick", "return confirm('确实要删除么?')");
//得到内层DataList
DataList dlItem= (DataList)e.Item.FindControl("repItem");
if ( dlItem != null )
{
if ( ViewState["repIndex"] != null )
{
dlItem.EditItemIndex = (int ) ViewState["repIndex"];
}
dlItem .ItemCommand += new DataListCommandEventHandler(dlItem_ItemCommand);
dlItem .ItemDataBound += new DataListItemEventHandler(dlItem_ItemDataBound);
int qid = ((InvQuestion)e.Item.DataItem).Que_Id;
ArrayList al = InvController.GetItemCollection( qid );
dlItem .DataSource = al;
dlItem .DataBind();
}
}
}