2009-03-13 5 views
0

나는 그 페이지의 다른 컨트롤에 대한 일을하는 컨트롤 (MyControl)을 만들려고합니다. 속성이 있습니다 :다른 컨트롤의 ID를 사용하여 해당 컨트롤을 매개 변수로 사용자 정의 ASP.NET 컨트롤에 전달하는 방법은 무엇입니까?

public property System.Web.UI.Control SomeOtherControl; 

컨트롤을 사용하는 ASPX 페이지에서이 속성을 설정할 수 있기를 원합니다. 지금 내가 할 수있는 유일한 방법은의 Page_Load에있는 코드 숨김 :

MyControl.SomeOtherControl = TheOtherControl; 

가 대신 MyControl를 사용하는 모든 페이지의 코드 숨김에서이 ​​작업을 수행 할 필요없이, 그냥합니까 싶어 영문 페이지에서이 : 나는 MyControl 초기화 할 때 참조 된 제어를 찾기 위해 ID 문자열에 Page.FindControl() 방법을 사용하여 시도이 작업을 수행하기 위해

<xyz:MyControl SomeOtherControl="TheOtherControlsID" /> 

하지만, 그것은 단지 페이지의 최상위 컨트롤을 검색합니다. 내 자신의 재귀를 작성할 수 FindControl(),하지만 거기에 더 나은 방법이 일을해야합니다 그림, 그리고 그 같은 성능에 대해 걱정하고 있어요. 어떤 아이디어?

답변

1

재귀 FindControl은 아마도 훨씬 빠를 것입니다. 수백 개의 컨트롤이 있어도 처리 시간이 다른 밀리 초의 가치를 측정 할 수 없었습니다.