你试试看for (int i = 1; i <= 26; i++) { ((this.Page.FindControl("User1") as UserControl).FindControl("Label" + i.ToString()) as Label).Text = i.ToString(); }
int i = 21; for (i = 1; i <= 21; i++) { Label lb = (Label)this.Page.FindControl("Label" + i.ToString()); Response.Write(lb.Text); } 这个没错啊,可以遍历得到label 的值
再找Label如
Control c = this.form1.FindControl();
Label l = c.FindControl("Label1");
{
l = (Label)this.Page.FindControl("Label" + i.ToString()); l.Text = "";
}
public Label getLabel1
{
get{return Label1;}
}
在调用User.ascx控件的页面:
假如User.ascx在页面name 为:uc1
则
string s=uc1.getLabel1;
比如这里就可以在自定义控件里面写一个属性:public Label LabelControl
{
get
{
return Label1;
}
}
在外面就可以直接访问了啊。
还是报错,我这是在 User.ascx.cs 文件中遍历,不是在 aspx.cs 中
{
((this.Page.FindControl("User1") as UserControl).FindControl("Label" + i.ToString()) as Label).Text = i.ToString();
}
还是放到一个像DataList控件里面的
<%@ Register Src="../UserControl/User.ascx" TagName="User" TagPrefix="uc1" %>
<uc1:UC_Header ID="User1" runat="server"></uc1:User>就是
string s=User1.getLabel1;
贴错:
<uc1:User ID="User1" runat="server"> </uc1:User>
int i = 21;
for (i = 1; i <= 21; i++)
{
Label lb = (Label)this.Page.FindControl("Label" + i.ToString()); Response.Write(lb.Text);
}
这个没错啊,可以遍历得到label 的值