多くのコードがここに収まらないことは承知していますが、一般的な指示またはポインタを求めています。
ラッパー、タブ、パネル、リスト、行、アイテムの (外側から内側へ) 対話型ガジェット用に .NET ユーザー コントロールを 6 つの深さでネストしました。
ネストされたコントロールから祖先コントロールへの参照を取得しようとしています。
具体的には、埋め込まれた「曾孫」コントロールの背後にあるコードにこのコードがあります。それは機能しますが、非常に醜いです:
MyTab _myTab = this.Parent.Parent.Parent.Parent.FindControl(thisTab) as MyTab;
これは等しく {ASP.controls_appname_widget_mywidget_mytab_ascx}
、正しいです。
Page.FindControl("MyWrapper:MyPanel:etc.....) のようなことができることはわかっていますが、構造または ID が変更される可能性があるため、これもお勧めできません....
まともな代替手段はありますか?