如何在C#ASP.NET中使用for循环更改多个asp:标签的文本

时间:2013-11-08 03:44:22

标签: c# asp.net visual-studio-2012 for-loop label

我想多次更改asp标签。

这是asp.net代码

<asp:Label ID="lbl_Text1" runat="server" Text="">
<asp:Label ID="lbl_Text2" runat="server" Text="">
<asp:Label ID="lbl_Text3" runat="server" Text="">
<asp:Label ID="lbl_Text4" runat="server" Text="">

而不是使用它:

C#代码

lbl_Text1.Text = "hello";
lbl_Text2.Text = "hello";
lbl_Text3.Text = "hello";
lbl_Text4.Text = "hello";

我尝试使用for循环

for (int i = 1; i <= 4; i++)
{
    lbl_Text[i].Text = "hello";
} 

我得到了这个错误......

  

无法将[]索引应用于'system.web.ui.webcontrols.label'类型的表达式

有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试使用FindControl

for(int i = 1; i <= 4; i++){
  var label = ((Label)FindControl("lbl_Text" + i));
  if(label != null){
     label.Text = "hello";
  }
}