我有一个控件,我想通过它的数据源进行交互,这可能吗?
控件绑定到转发器,但我还想使用.ascx控件页面顶部的内联代码遍历项目。
这可能吗?
更新
我绑定到转发器,绑定到转发器的东西是List集合。
我试过了:
myRepeater.DataSource
我没有通过intellisense得到任何东西,而且List<UserPRofile>
的投射也不起作用。
答案 0 :(得分:1)
当然,只需引用控件的DataSource属性,它将返回您最初绑定到控件的任何内容。您需要将返回值强制转换为适当的类型。
var dataSource = (List<MyClass>)myRepeater.DataSource; // your control
请记住,如果您计划对其进行更改并希望它反映在控件中,那么您应该使用支持双向绑定的适当数据源,例如BindList。
答案 1 :(得分:1)
据我所知,您想要访问位于用户控件内的转发器的数据源。我建议您将数据源公开为属性,并使用它来循环用户控件以及绑定转发器。
您也可以使用Repeater.Items集合并将每个绑定行作为RepeaterItem实例。
foreach (RepeaterItem repeaterItem in myRepeater.Items)
{
lblResult.Text += " " + repeaterItem.Text;
}