如何在一个循环中使用不同的标签

时间:2012-04-10 13:53:24

标签: c# asp.net for-loop

ex:label [i] .text。在

int r = GridView1.Rows.Count;
for (int i = 0; i < r; i++) 
{
    Label[i]+"1".text="something";   
}

在这里,在一个for周期中,我想填写不同的标签。标签ID是Label01,Label02,Label03等。什么是正确的语法?

3 个答案:

答案 0 :(得分:3)

如果您可以“预测”标签的ID,那么您可以找到它:

int r = GridView1.Rows.Count;
for (int i = 0; i < r; i++) 
{
     string id = "baseName" + i;  // your naming scheme
     var lbl = (Label) this.FindControl(id);
     lbl.text="something";   
}

答案 1 :(得分:1)

您可以将所有标签添加到List<Label>SortedList<Label>中并对其进行迭代。

var labels = new SortedList<Label>();
lables.Add("Lable01", Label01);
lables.Add("Lable02", Label02);
...

int r = GridView1.Rows.Count;
for (int i = 0; i < r; i++) 
{
     lables["Label" + i.ToString("00")].text = "somthing";
}

.NET中没有control arrays,就像VB6中那样。

答案 2 :(得分:0)

Label myLabel = this.FindControl("Label"+i+"1") as Label; 
myLabel.Text = "my text"; 

这应该可以解决你的问题