我有6个名为Seq(num)选项卡的表现在我有一个很大的代码操作在每个表上执行而不是为每个表做一个巨大的切换案例我宁愿有一个循环可以循环通过表基本上像这样(理论上)应该这样做。显然非常被剥离用于显示目的
for (int i = 1; i <= totalseq; i++)
{
string originstart = (Table)Page.FindControl("Seq" + I + "Num").Rows[1].Cells[0].Text;
// have also tried this
string originstart = Page.FindControl("Seq" + I + "Num", as Table).Rows[1].Cells[0].Text;
//lots of code using originstart
}
然而,我只是得到不同的错误,为什么它不会工作,即。 (第1个示例)不包含行的定义。它的表控件当然是有行定义lol
有人有什么想法吗?
答案 0 :(得分:0)
从评论
转换而来此代码:
(Table)Page.FindControl("Seq" + I + "Num").Rows[1].Cells[0].Text
尝试执行所有调用链,然后将Text
属性强制转换为Table
。您真正需要的是将FindControl
结果转换为Table
:
((Table)Page.FindControl("Seq" + I + "Num")).Rows[1].Cells[0].Text
注意附加的括号。另请注意,只有将表声明为服务器端控件并且该页面是该页面的直接子项时,此代码才有效。