0

我有一些像 'rpA'、'rpB' 等 id 直到 'rpZ' 的 asp 中继器控制。我想做的是我想在后面的代码中找到asp中继器并相应地绑定一个数据源。到目前为止我写的代码如下,其中'i'是一个int,范围从65到90。并且'tb' 是一个数据表。

                   string lblName = "lbl" + Convert.ToChar(i);
                   string repName = "rp" + Convert.ToChar(i);
                   FindControl(lblName).Visible = true;
                   FindControl(repName).Visible = true;
                   IDataBoundControl repID = FindControl(repName) as IDataBoundControl;
                   ITextControl lblID = FindControl(lblName) as ITextControl;
                   lblID.Text = (Convert.ToChar(i)).ToString();
                   repID.DataSource = tb;
                   repID.DataBind();

但我无法 DataBind()。最后一行给出错误“System.Web.UI.WebControls.IDataBoundControl 不包含 DataBind 的定义”

4

1 回答 1

3

如果您知道类型,请执行以下操作:

var repID = FindControl(repName) as Repeater;
repID.DataSource = tb;
repID.DataBind();

没有必要将其转换为,IDataBoundControl因为这个接口没有方法DataBind()(更多信息在这里

于 2013-02-13T10:29:30.447 回答