Controles de usuario anidados: cómo obtener mejor una referencia a un control ancestro
Me doy cuenta de que una gran cantidad de código no puede caber aquí, pero estoy pidiendo una dirección general o puntero.
Tengo controles de usuario .NET anidados en seis profundidades para un gadget interactivo con (externo a interno) de: envoltorio, pestañas, paneles, listas, filas, elementos.
Estoy tratando de obtener una referencia a un control ancestro de un control anidado.
Específicamente, tengo este código en el código detrás de un control incrustado de "tataranieto". Funciona, pero es muy feo:
MyTab _myTab = this.Parent.Parent.Parent.Parent.FindControl(thisTab) as MyTab;
que es igual{ASP.controls_appname_widget_mywidget_mytab_ascx}
y es correcto
Me doy cuenta de que puedo hacer algo como Page.FindControl ("MyWrapper: MyPanel: etc .....) pero eso tampoco es recomendable, ya que la estructura o las ID pueden cambiar ...
¿Hay una alternativa decente?