別のコントロールを拡張するカスタマー サーバー コントロールに取り組んでいます。フォーム上の他のコントロールにアタッチしても問題ありません。
vb.netで: Parent.FindControl(TargetControlName)
ASPX マークアップでコントロールにメソッドを渡したいと思います。
例えば:<c:MyCustomerControl runat=server InitializeStuffCallback="InitializeStuff">
そこで、リフレクションを使用して、親から指定されたメソッド名にアクセスしようとしました。
(VBで)のようなもの
Dim pageType As Type = Page.GetType
Dim CallbackMethodInfo As MethodInfo = pageType.GetMethod( "MethodName" )
'Also tried
sender.Parent.GetType.GetMethod("MethodName")
sender.Parent.Parent.GetType.GetMethod("MethodName")
メソッドはページの一部ではないため、見つかりません。どこを見ればいいですか?他のコントロールが同様の動作をするのを見たことがあるので、これが可能であると確信しています。
言い忘れましたが、私の回避策は、制御イベントを提供し、コード ビハインドでそれらにアタッチすることです。