2009-11-12 2 views
0

두 개의 사용자 정의 컨트롤 A와 B가 있습니다. 여기서 B는 같은 페이지에서 A의 존재 여부에 따라 달라집니다. ASP.NET : 내 자신의 AssociatedControlID와 같은 기능을 어떻게 구현합니까?

나는 다음과 같은 몇 가지 기능을 구현하기 위해 노력하고있어 : 그 ID와 실제 제어를 얻을 "IdOfTheAControl"을 추출 할 수 있지만 드릴 수 없습니다

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

. 나는 FindControl("IdOfTheAControl")을 에 대해 Page_Load에 사용하려고 시도했으나이 기능은 B.ascx에있는 컨트롤을 찾고 두 컨트롤이 형제가되는 마스터 페이지가 아니기 때문에 null을 반환합니다.

두 컨트롤이 페이지의 형제 인 경우 사용자 컨트롤에서 특정 ID를 가진 다른 사용자 컨트롤에 어떻게 액세스합니까?

답변

2

사용자 정의 컨트롤은 System.Web.UI.WebControl에서 상속하므로 페이지 및 Parent 속성을가집니다. 페이지는 페이지에 대한 핸들을 제공하고 부모는 중첩 컨트롤이있는 경우 컨트롤을 호스팅하는 컨트롤에 대한 핸들을 제공합니다.

try mineB.Page.FindControl ("IdOfTheAControl"); // 의사 코드

+1

누군가 알고 싶으면'Parent.FindControl'을 사용하고 정상적으로 작동합니다. –

관련 문제