我有一些asp转发器控件,其id为'rpA','rpB'等等,直到'rpZ'。我想要做的是我想在后面的代码中找到asp转发器并相应地绑定一个数据源。到目前为止我写的代码是在下面,其中'i'是一个int,它的范围从65到90.And 'tb'是一个DataTable。
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的定义”
答案 0 :(得分:3)
如果您知道该类型,请执行以下操作:
var repID = FindControl(repName) as Repeater;
repID.DataSource = tb;
repID.DataBind();
无需将其强制转换为IDataBoundControl
,因为此界面没有方法DataBind()
(更多信息here)