1

リピーター内でコントロール (画像ボタンなど) を見つける方法は? そのリピーターは既にデータリストに含まれていますか? その画像ボタンで削除操作を実行する必要があるためです。

これが私のコードです。ここではリピーターを取得していますが、画像ボタンは取得していません:

foreach (DataListItem item in Dlist_SearchResult.Controls)
            {

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

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


            }
4

1 に答える 1

0

FindControl で再帰を使用できます。デフォルトでは、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");
于 2013-01-23T04:58:32.887 に答える