【发布时间】:2011-08-19 09:18:44
【问题描述】:
我有一个用户控件,它由显示在 aspx 页面上的父用户控件和子用户控件组成。我需要从子控件中获取 Parent UserControls 的实例。 Parent 有一组嵌套的 .net 控件,在这些嵌套控件中显示子 UserControls,所以如果我从子 UserControls 使用它
MyControl _myControl = (MyControl)this.Parent.Parent.Parent.Parent.FindControl("MyControl");
其中 (this) = 子控件和 (Parent.Parent.Parent.Parent) 将我带回树到真正的父级。
这会让我到达那里,但似乎有更好的方法。有什么建议吗?
【问题讨论】:
-
Errrm,正如你所演示的;这将在该子节点有 3 个父节点的情况下工作。没关系-我要问的是,您实际上要确定什么?如果您需要找到顶级对象,那么您只需循环直到
(this.Parent == null) == true -
我问的原因是因为 .Net 通常确保 .child 和 .parent 层次结构
-
我正在使用 Teleric 的 RadPanel 作为工作流控件。因此,当用户完成 panel1 时,我需要使用下一个 usercontrol 打开 panel2。因此,“下一步”按钮位于子控件上,我需要将树返回到 RadPanel 控件,以便激活下一个面板。我在做什么类似于demos.telerik.com/aspnet-ajax/panelbar/examples/…
标签: c# asp.net user-controls