循环遍历表控件以获取单元格文本

本文关键字:获取 单元格 文本 控件 遍历 循环 | 更新日期: 2023-09-27 18:17:45

我有6个名为Seq(num)tab的表,现在我有一个大的代码操作来执行每个表,而不是为每个表做一个大规模的开关案例,我宁愿有一个循环,它可以循环通过表基本上像这样(理论上)应该做。很明显,为了显示的目的,

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
}

然而,我只是得到不同的错误,为什么它不会工作。(第一个示例)不包含行定义。它是一个表控件当然它有一个行定义lol

有人有什么想法吗?

循环遍历表控件以获取单元格文本

转换自

这个代码:

(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

注意额外的括号。还要注意的是,只有当table被声明为服务器端控件并且是页面的直接子控件时,这段代码才会起作用。