次の問題を解決しようとしています。
別のコントロール内に動的にロードする必要があるユーザー コントロールがあります。この動的にロードされたコントロールはイベントを発生させます。私の知る限り、動的にロードされたコントロールによって発生したイベントは、onload イベント中にコントロールが作成およびロードされた場合にのみ正しく処理されます。コントロールを動的にロードするときに考慮しなければならないもう 1 つの制約があり、それは親コントロールのプロパティです。このプロパティは、コントロールをロードする必要があるかどうかを決定します。
疑似コード:
ControlA
Property ShowControl
ControlA has a CheckBox(chkShowControlIfSelected)
OnLoadEvent()
If chkShowControlIfSelected.checked checked and ShowControlProperty is set
{
reate ControlB Dynamically
ControlB.Event += EventHandler()
Add ControlB to ControlCollection
}
私が直面している問題は、prerender イベントに controlB をロードするコードを含めると、プロパティ ShowControl は正しく設定されますが、EventHandler() が呼び出されないことです。pageLoad イベントで controlB を動的にロードするコードを配置すると、プロパティ ShowControl はまだ設定されていませんが、その場合は eventHandler コードが正しく呼び出されます。
何かが足りないのでしょうか、それとも正しくないイベント ハンドラーでコードを処理しているのでしょうか?