0

我刚刚尝试使用“foreach”循环更改标签名称,但 Visual Studio 向我返回了错误。

我只是尝试在“foreach”循环中使用标签,并想让我的工作更轻松。代码就是这样。

 int i = 0;

        foreach (string a in dr)
        {
            Label6.Text = dr.GetString(i).ToString();
            i++;
        }

我不明白为什么我不能这样使用。

Label[i], Label(i) or label{i}

谁能知道我怎么能这样使用?谢谢你的支持 :)

4

1 回答 1

1

页面上的标签不会复合数组。如果您说 6 个标签 - 这只是 6 个具有 6 个不同 ID 的标签。这并不妨碍您命名它们FirstLabel,SecondLabel等 - 突然之间它们就不能像数组一样被访问了。

但是,如果您真的Label1通过命名它们Label6以及利用该事实的方式 - 您可以尝试使用FindControl方法:

int i = 6;
Label label = FindControl("Label" + i) as Label;

请注意,这FindControl不是递归的 - 您必须在标签最近的容器上调用它,这并不总是页面本身。

于 2013-06-17T07:44:55.170 回答