ツリービューがあり、各ツリーノードに異なるユーザーコントロールのセットのIDが含まれているとします。ユーザーがノードをクリックすると、これらのコントロールがページにロードされます。ASPページのライフサイクルを理解しているので、動的コントロールは初期化段階で追加する必要があり、ポストバックイベントは後で発生します。
したがって、コントロールを追加する必要があった後にツリービュークリックイベントが発生した場合、ユーザーのポストバックイベントに基づいてコントロールを動的に追加するにはどうすればよいですか?
編集:私はArronLSからの提案を試しました:
私が行ったことは、ノード値をセッション配列に追加し、それを使用してinitを実行し、プレースホルダーコントロールのコントロールにロードするフォーム要素を選択することでした。ツリービューのクリックイベントで、セッション配列のノードを更新し、プレースホルダーの古いフォーム要素をクリアして、新しいフォーム要素をコントロールに追加します。ページが再度読み込まれると、初期化時にノードが検出されるはずなので、ビューステートの問題は回避されます。
現在、これを完全にテストしていませんが、ビューステートで発生する可能性のある問題について説明している同様の投稿がもう1つあります。彼らは、Initコントロール内のコンテキストのRequest []部分(この場合はドロップボックス)をポーリングし、ポストバック機能の一部を手動で処理するソリューションを提案しています。
私の新しい質問は、Request配列を使用してツリービューで選択したノードにアクセスする方法です。