【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(); } } }