2009-11-12 2 views
0

У меня есть два пользовательских элемента управления A и B, где B зависит от существования A на той же странице.ASP.NET: Как реализовать собственные функции, связанные с AssociatedControlID?

Я пытаюсь реализовать некоторые функциональные возможности, как это:

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

Я могу извлечь "IdOfTheAControl", но не смог получить фактический контроль с этим идентификатором. Я попытался использовать FindControl("IdOfTheAControl") в Page_Load для B, но это возвращает null, вероятно, потому, что функция ищет элемент управления в B.ascx, а не на главной странице, где два элемента управления являются братьями и сестрами.

Как я могу получить доступ к пользовательскому элементу управления с данным идентификатором, если два элемента управления являются братьями и сестрами на странице?

ответ

2

Поскольку пользовательские элементы управления наследуются от System.Web.UI.WebControl, у них есть свойство Page и Parent. Страница предоставит вам дескриптор страницы и родительский дескриптор элемента управления, который размещает ваш элемент управления, если есть вложенные элементы управления.

попробуйте myB.Page.FindControl ("IdOfTheAControl"); // Псевдокод

+1

Если кто-то хочет знать, я использовал 'Parent.FindControl', и он работал нормально. –

Смежные вопросы