我刚尝试使用“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}
任何人都知道我怎么能这样使用?感谢您的支持:)
答案 0 :(得分:1)
页面上的标签不会复合数组。如果您说6个标签 - 这只有6个不同ID的标签。这并不妨碍您将它们命名为FirstLabel
,SecondLabel
等 - 突然间它们无法像数组一样被访问。
但是,如果你真的将它们命名为Label1
到Label6
以及如何利用这一事实 - 你可以尝试使用FindControl
方法:
int i = 6;
Label label = FindControl("Label" + i) as Label;
请注意FindControl
不是递归的 - 你必须在标签最近的容器上调用它,而这个容器并不总是页面本身。