ASP.NET控件组(lable1、label2、label3.....labeln)的赋值

需求:一组同样的控件,lable1、label2、label3.....labeln,需要对其赋值。

 

1.一般情况下,使用FindControl找到控件名称,加上序号即可。如下,我的控件名称分别为:lbl1,lbl2,lbl3,lbl4。在这里,直接用int类型的i,也没有问题。

for (int i = 1; i <= 4; i++)
{
     Label labName = (Label)this.FindControl("lbl" + i);
     labName.Text = i.ToString();
}

 

2.但是当label组位于容器中时,这样写会报错。需要先找到容器,然后在找到label。如下。由于使用了母版页,控件组实际在ContentPlaceHolder1里,所以要先FindControl到ContentPlaceHolder1,在FindControl到label控件组。

for (int i = 1; i <= 4; i++)
{
        Label labName = (Label)this.Page.Master.FindControl("ContentPlaceHolder1").FindControl("lbl" + i);
        labName.Text = i.ToString();
}

 

posted on 2015-07-10 11:38  独孤若雨  阅读(546)  评论(0编辑  收藏  举报