0

内部にリピーターがあるFormViewがあります。ItemTemplateをレンダリングするために、偽のデータソースとデータバインドを実行します。次に、FindControlを使用してリピーターを探し、別のDataSourceとDataBindを実行します。したがって、この場合、HardCodedDataは、FormViewItemTemplateをレンタルするための単なるプレースホーダーです。

FormView1.DataSource = HardCodedData;
FormView1.DataBind();

Repeater r = ((Repeater)FormView1.FindControl("repeater1"));
r.DataSource = GetMyData();
r.DataBind(); 

もっと良い方法はありますか?偽のデータを提供せずに、FormViewを賃貸人に提供することはできますか?または、FormViewデータソースを介してリピーターデータを渡すことはできますか?

4

1 に答える 1

2

リピーターコントロールはフォームビュー内にあるため、このリピーターコントロールをフォームビューのイベント内にバインドする必要があります。DataBoundは、取得したい正確なデータを取得することをスローしました。次のコードをFormView1_DataBoundイベント内に配置します。

Repeater r = ((Repeater)FormView1.FindControl("repeater1"));
r.DataSource = GetMyData();
r.DataBind();

この解決策があなたを助けることができるかもしれません....

于 2012-11-17T05:55:53.637 に答える