需求:一组同样的控件,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(); }
时间: 2024-10-28 21:55:41