2
我有一个嵌套的网页用户控件。主页面用户控件我在页面上使用过,但现在我想访问内部web用户控件及其事件中的控件。 任何机构可以帮助我解决这个问题。访问嵌套的网页用户控制元素
我有一个嵌套的网页用户控件。主页面用户控件我在页面上使用过,但现在我想访问内部web用户控件及其事件中的控件。 任何机构可以帮助我解决这个问题。访问嵌套的网页用户控制元素
在父级用户控件中,公开对子控件的引用,或者通过属性公开属性。例如
public partial class ParentControl : UserControl
{
...
// Expose the whole child control
public ChildControl MyChild
{
get { return this.theIdOfTheChildControl; }
}
...
// or expose specific properties
public string MyChildText
{
get { return this.theIdOfTheChildControl.Text; }
set { this.theIdOfTheChildControl.Text = value; }
}
}
试试这个方法
private List<Control> GetAllNestedUserControl(Control ph)
{
List<Control> Get = new List<Control>();
foreach (var control in ph.Controls)
{
if (control is UserControl)
{
UserControl uc = control as UserControl;
if (uc.HasControls())
{
Get = GetAllNestedUserControl(uc);
}
}
else
{
Control c = (Control)control;
if (!(control is LiteralControl))
{
Get.Add(c);
}
}
}
return Get;
}
此方法将返回所有控件的列表,然后执行以下操作来获得控制ü要
List<Control> Get = GetAllNestedUserControl(ph);
Label l = (Label)Get.Find(o => o.ID == "lblusername");
l.Text = "changed from master";