2009-11-12 105 views
0

我有兩個用戶控件A和B,其中B取決於A在同一頁面中的存在。ASP.NET:如何實現我自己的AssociatedControlID-like功能?

我想實現這樣一些功能:

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

我能提取"IdOfTheAControl",但無法得到與該ID的實際控制權。我嘗試在Page_Load中使用FindControl("IdOfTheAControl")代替B,但是這返回null,可能是因爲函數在B.ascx中查找控件,而不是母版頁中兩個控件是同級的。

如果兩個控件是頁面中的同胞,我如何從用戶控件訪問具有給定ID的另一個用戶控件?

回答

2

由於用戶控件從System.Web.UI.WebControl繼承,因此它們具有Page和Parent屬性。如果存在嵌套控件,頁面將爲您提供頁面的句柄,併爲您的控件託管控件。

嘗試mineB.Page.FindControl(「IdOfTheAControl」); //僞代碼

+1

如果有人想知道,我使用了'Parent.FindControl',它工作正常。 – 2009-11-12 14:49:26