ASP.NET:我如何实现自己的类似AssociatedControlID的功能?

时间:2009-11-12 14:35:39

标签: asp.net user-controls findcontrol

我有两个用户控件A和B,其中B取决于同一页面中是否存在A.

我正在尝试实现这样的功能:

<mine:A ID="IdOfTheAControl" runat="server" />
<mine:B BelongsTo="IdOfTheAControl" runat="server" />

我能够提取"IdOfTheAControl"但无法获得具有该ID的实际控件。我尝试在FindControl("IdOfTheAControl") Page_Load中使用B,但这会返回null,可能是因为该函数在B.ascx中查找控件而不是主页这两个控件都是兄弟姐妹。

如果两个控件是页面中的兄弟节点,如何从用户控件访问具有给定ID的另一个用户控件?

1 个答案:

答案 0 :(得分:2)

由于用户控件继承自System.Web.UI.WebControl,因此它们具有Page和Parent属性。如果有嵌套控件,Page将为您提供页面句柄,Parent为您控件的控件提供句柄。

尝试mineB.Page.FindControl(“IdOfTheAControl”); //伪代码