ASP.NETコンポジットコントロールはバブルイベントではありませんが、テンプレートは行います

StackOverflow https://stackoverflow.com/questions/5357353

質問

私は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

彼らはそこにそれを言います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top