2009-10-16 7 views
0

사용자 지정 서버 컨트롤로 모달 상자를 만들 때 클릭 할 때 모달을 표시 할 요소를 지정하는 모달 상자 TargetControlID에 대한 속성을 갖고 싶습니다. 나는 여러 다른 장소사용자 정의 서버 컨트롤에서 페이지 컨트롤에 액세스하려면 어떻게합니까?

If (_targetControlId <> "") Then 
     Dim targetControl As WebControl = Me.Page.FindControl(_targetControlId) 
     targetControl.Attributes.Add("onclick", "test1();") 
     targetControl.Attributes.Add("onclick", "test2();") 
    End If 

무엇 발생하는 targetControl 항상 NULL로 바람이 때문이다에서 시도한 다음 코드 블록을 (사용 뒤에 나는 모달 상자와 코드에서 속성을 설정 한 , 및 그것에 특성을 추가 할 때 페이지가 충돌하게됩니다. 나는 targetControlId 맞춤법 검사를 두 번 체크하고 runat = "server"인 컨트롤을 지정합니다. 서버 컨트롤에 대한 적절한 방법은 무엇입니까? 그 포함 된 페이지에 액세스 다른 컨트롤?

감사합니다,

마이크

+0

마스터 페이지를 사용하고 있습니까? – Jim

답변

0

먼저, 찾고있는 동작이 무료 오픈 소스 AjaxControlToolkit과 함께 제공되는 ModalPopupExtender에 이미 있음을 지적해야합니다. 그냥 사용하는 것이 좋습니다. 자신 만의 글을 쓰고 싶다면 적어도 자신의 코드를 살펴봄으로써 그들이 어떻게 움직이는 지 지켜 볼 것을 권합니다. ExtenderControlBase.FindControlHelper은 좋은 출발점입니다.

+0

네 말이 맞아, 나는 익스텐더와 함께 가야 해. CollapsiblePanelExtender가 내 요구 사항을 충족시키지 못했기 때문에 CollapseiblePanel을 완성했습니다. 그러나 모달 익스텐더는 내 요구 사항을 완벽하게 충족해야합니다. 감사. – mclark1129

관련 문제