ここでは、ネストされたコントロール リストのデータソースを正しく設定しようとしています。
基本的な考え方:
asp:repeater アイテムがあります。内部には、DropDownList と BulletedList に加えて Button があります。
Repeater で選択した行から DropDownList で選択した項目を追加して、選択した行の BulletedList に追加したいと考えています。
これまでのところ、OnItemDataBound と OnClick を使用してそれを行うことができました。これは非常に優れています。問題は、OnItemDataBdoundの後にOnClick が発生するイベントです。BulletedList のデータソースに追加した項目を表示するには、ページを更新する必要があります。
私はこれを試しました:
((BulletedList)src.FindControl("sharedPlanDomains")).Items.Clear();
その後
((BulletedList)src.FindControl("sharedPlanDomains")).Datasource = myobject;
((BulletedList)src.FindControl("sharedPlanDomains")).DataBind();
しかし、それは機能していないようです。
((BulletedList)src.FindControl("sharedPlanDomains")).DomainsAssociated.ForEach(f => list.Items.Add(new ListItem { Text = f.Name }));
どちらも機能しません。
利用可能な提案はありますか?
[編集: 説明]
私はこの構造を持っているとしましょう:
ホスティングプラン : i-Perso
ドメイン : [ドロップダウンリスト] [ボタン: 関連付ける]
関連ドメイン :- Google COM
- google2.com
ホスティングプラン : i-Mense ドメイン : [ドロップダウンリスト] [ボタン: 関連付ける] 関連ドメイン :
- google3.com
1 番目のドロップダウンリストをクリックしてドメイン google4.com を選択すると、google4.com が行 i-Perso の箇条書きリストのデータソースに追加されます。
ここでやりたいことは、ドメインとプランを関連付けることです。1対1の関係だったらもっと良かったのですが、1対複数の関係です。