Я понимаю, что большой объем кода здесь не помещается, но я прошу общее направление или указатель.
У меня есть пользовательские элементы управления .NET, вложенные в шесть глубин для интерактивного гаджета с (внешняя или внутренняя) из: оболочки, вкладок, панелей, списков, строк, элементов.
Я пытаюсь получить ссылку на элемент управления предка из вложенного элемента управления.
В частности, у меня есть этот код в коде встроенного элемента управления "great great grand child". Это работает, но это очень некрасиво:
MyTab _myTab = this.Parent.Parent.Parent.Parent.FindControl(thisTab) as MyTab;
, что равно {ASP.controls_appname_widget_mywidget_mytab_ascx}
и является правильным.
Я понимаю, что могу сделать что-то вроде
Page.FindControl ("MyWrapper: MyPanel: etc .....), но это также не рекомендуется, так как структура или идентификаторы могут изменяться ....
Есть ли достойная альтернатива?