ASP.NETコンポジットコントロールはバブルイベントではありませんが、テンプレートは行います
-
27-10-2019 - |
質問
私はASP.NETアプリケーションの複合制御を開発しています。ちょうど偶然には、アイテムプレートを使用して子のコントロールを作成するためのコントロールを最初に開発しました。ルートコントロールで処理される子供コントロール内に一連のボタンがあります。ボタン上のコマンド名/commandArgumentプロパティを使用してonbubbleEventを使用して、すべてを配線しています。そして、すべてがうまくいきました...テンプレートをコントロールに変更するまで。
テンプレートをコントロールに変換し、controls.add(this)の代わりにルートコントロールでcontrols.add(new ChildControl())を呼び出したとき、イベントバブルは機能しなくなりました。
理由は何ですか?
(すべて、そして私はすべてを意味します、他のものは同じです。)
解決
compositeコントロールは、オンバブブレベントコールを受信するために、inAmingContainerインターフェイスを実装する必要があります。 compositecontrolクラスはすでにこのインターフェイスを実装しています...あなたの場合、それはアイテムプレートのためではなく、継承をから変更したために動作を停止しました CompositeControl に コントロール.
これを参照してください: http://msdn.microsoft.com/en-us/library/system.web.ui.control.onbubbleevent.aspx
彼らはそこにそれを言います。
所属していません StackOverflow