Найти родительский элемент управления WebForms типа - PullRequest
0 голосов
/ 14 февраля 2019

Я хочу найти родительский элемент управления определенного типа и не знаю его ID.

Страница может выглядеть следующим образом:

- MasterPage
    - HomePage
        - SomeControl
            - TargetControl
                - SomeOtherControl
                    - ThisControl

И я хочу получитьThisControl родительский тип TargetControl:

Control targetControl = thisControl.FindParentControl(typeof(TargetControl));

1 Ответ

0 голосов
/ 14 февраля 2019

Это просто с помощью метода расширения, рекурсивно проверяющего тип родительских элементов управления.

public static Control FindParentControl(this Control control, Type parentType)
{
    while(control != null)
        if (control.Parent.GetType() == parentType)
            return control.Parent;
        else
            control = control.Parent;

    return null;
}
...