利用 FindControl 取得page上元件

1 篇文章 / 0 new
author
利用 FindControl 取得page上元件
page 上元件屬於tree結構方式放置, 若僅是用 this.FindControl 只能找尋該元素第一層. 若希望不管在哪一層都能取得, 則就需要使用遞迴的方式去尋找, 不然就只能明確指出從哪一個元素內尋找了
public Control FindControlRecursive(Control root, string id)
{
    if (root.ID == id)
        return root;
    foreach (Control control in root.Controls)
    {
        Control foundControl = FindControlRecursive(control, id);
        if (foundControl != null)
            return foundControl;
    }
    return null;
}