0

我有一个 FormView,里面有一个中继器。为了呈现 ItemTemplate,我做了一个假数据源和数据绑定。然后我用 FindControl 寻找 Repeater 并执行另一个 DataSource 和 DataBind。所以在这种情况下,HardCodedData 只是一个让我租用 FormView ItemTemplate 的占位符。

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 回答