Я пытаюсь создать элемент управления (MyControl
), который выполняет действия с другими элементами управления на странице, на которой он находится. Имеет свойство:
public property System.Web.UI.Control SomeOtherControl;
Я хочу иметь возможность установить это свойство на странице ASPX, которая использует элемент управления. Прямо сейчас, единственный способ, которым я могу сделать это, в Page_Load
кода:
MyControl.SomeOtherControl = TheOtherControl;
Вместо того, чтобы делать это на коде каждой страницы, которая использует MyControl
, я хочу сделать это на странице ASPX:
<xyz:MyControl SomeOtherControl="TheOtherControlsID" />
Чтобы сделать это, я попытался использовать метод Page.FindControl()
в строке идентификатора, чтобы найти ссылочный элемент управления при инициализации MyControl
, но он только ищет элементы управления верхнего уровня страницы. Я мог бы написать свой собственный рекурсив FindControl()
, но я думаю, что должен быть лучший способ сделать это, и я беспокоюсь о производительности чего-то подобного. Есть идеи?