2012-04-10 65 views
0

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等。什麼是正確的語法?

回答

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

這應該解決您的問題

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。

3

如果你可以「預測」標籤的標識,那麼你可以找到它:

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"; 
} 
相關問題