private void rptHotelList_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item:
case ListItemType.AlternatingItem:
case ListItemType.EditItem:
{
Repeater rptroomlist = (Repeater)e.Item.FindControl("rptRoomList");
rptroomlist.ItemDataBound += new RepeaterItemEventHandler(rptroomlist_ItemDataBound);
// ImageButton btn = (ImageButton)e.Item.FindControl("btnDel_1");
// if(btn != null)
// btn.Attributes.Add("onclick", "return confirm('你是否确定删除这条记录');");
break;
}
}
}
private void rptroomlist_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item:
case ListItemType.AlternatingItem:
case ListItemType.EditItem:
{
ImageButton btn = (ImageButton)e.Item.FindControl("btnDel_1");
if(btn != null)
btn.Attributes.Add("onclick", "return confirm('你是否确定删除这条记录');");
break;
}
}
}
{
switch(e.Item.ItemType)
{
case ListItemType.Item:
case ListItemType.AlternatingItem:
case ListItemType.EditItem:
{
Repeater rptroomlist = (Repeater)e.Item.FindControl("rptRoomList");
rptroomlist.ItemDataBound += new RepeaterItemEventHandler(rptroomlist_ItemDataBound);
// ImageButton btn = (ImageButton)e.Item.FindControl("btnDel_1");
// if(btn != null)
// btn.Attributes.Add("onclick", "return confirm('你是否确定删除这条记录');");
break;
}
}
}
private void rptroomlist_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item:
case ListItemType.AlternatingItem:
case ListItemType.EditItem:
{
ImageButton btn = (ImageButton)e.Item.FindControl("btnDel_1");
if(btn != null)
btn.Attributes.Add("onclick", "return confirm('你是否确定删除这条记录');");
break;
}
}
}
现在我明白为什么了,只因为我的内嵌reapter之DataSource
<asp:repeater id="rptRoomList" Runat="server" DataSource='<%# getRoomList((int)DataBinder.Eval(Container.DataItem, "HID"))%>'>
………………
</asp:repeater>
在.cs页里,把它写成rptRoomList.DataSourece=data();rptRoomList.DataBind();应该就可以了
但在这里,好像服务器控件在<asp:Lable id="hid">DataBinder.Eval(Container.DataItem, "HID")%></asp:Lable>这样是不行的,这样的话在外层的repeater里的DataItemBound事件里用FindControl事件找不到Lable控件hid的Text。如何可以解决这个问题呢?