データオブジェクトを操作するための2つのコントロールを作成しました。1つは表示用、もう1つは編集用です。
1つのページで、「ビュー」をロードし、次のUserControl
ようにデータを渡します。
ViewControl control = (ViewControl)LoadControl("ViewControl.ascx");
control.dataToView = dataObject;
this.container.Controls.Add(control);
それはすべて問題なく、コントロール内でそのデータを取得して表示できます。
今、私は編集のために同様のアプローチに従おうとしています。これには別のユーザーコントロールがあり(編集用のテキストボックスがいくつかあります)、ビューの場合と同じ方法で元のデータを渡します。
EditControl control = (EditControl)LoadControl("EditControl.ascx");
control.dataToEdit = dataObject;
this.container.Controls.Add(control);
これも問題なく動作します。
問題は、このデータを取得することです。ユーザーがボタンをクリックすると、編集されたデータを取得して処理する必要があります。何が起こっているのかというと、コントロールがプログラムで追加されているため、ユーザーが変更したデータにはどこからでもアクセスできないようです。
これに対する解決策はありますか?それとも、物事を分離し、場合によっては再利用できないようにするこの方法は不可能ですか?
前もって感謝します。