如何在转发器内找到控制图像按钮,它已在数据列表中

时间:2013-01-23 04:55:59

标签: asp.net repeater imagebutton datalist

如何在转发器内找到控件(即图像按钮),转发器已经在数据列表中了?因为我必须对该图像按钮执行删除操作。

这是我的代码,这里我得到的是转发器而不是图像按钮:

foreach (DataListItem item in Dlist_SearchResult.Controls)
            {

                rptrResult = (Repeater)item.FindControl("Rptr_result");

                imgbtnDelete = (ImageButton)item.FindControl("imgbtnDelete");


            }

1 个答案:

答案 0 :(得分:0)

您可以在FindControl中使用Recursion。默认情况下,FindControl不是递归的。

试试这个:

private static Control FindControlRecursive(Control rootCtrl, string ID)
{
    if (rootCtrl.ID == ID)
        return rootCtrl;

    foreach (Control ctr in rootCtrl.Controls)
    {
        Control foundCtl = FindControlRecursive(ctr, ID);
        if (foundCtl != null)
            return foundCtl;
    }

    return null;
}

你可以称之为

Button btn = FindControlRecursive((Control)Page,"imgbtnDelete");