2012-07-31 3 views
-1

Asp.net의 동적 제어 (ASP 페이지 생명주기는)은 다음과 같습니다로드 나는 사용자 정의 컨트롤을로드하는 기능을 가지고

private void AddPopupControlToPage() 
    { 
     WidgetConfiguration popupControl = new WidgetConfiguration(); 
     popupControl = (WidgetConfiguration)LoadControl("~/Docking/Widgets/WidgetConfiguration.ascx"); 
     popupControl.ID = "PopupControlInput1"; 
     g_PopupControlId = popupControl.ClientID; 
     popupControl.Attributes.Add("width", "150px"); 
     Form.Controls.Add(popupControl); 
    } 

그 날을 기준으로 페이지 레이아웃을 변경할 수 아래로 내가 드롭이 어떤 템플릿이 선택되었는지. 어떤 템플릿 (페이지)에서 팝업 컨트롤을 호출 할 수 있어야합니다. 내가 여기 읽은 것을 바탕으로 http://msdn.microsoft.com/en-us/library/ms178472.aspx Page_PreInit 이벤트에서 내 컨트롤을로드 할 수 있어야합니다. 그러나 폼이 그 지점에서로드되지는 않습니다. null 참조 오류가 발생합니다. 어떻게/어디서 내 팝업 컨트롤을로드하고 선택한 페이지에서 계속 사용할 수 있는지에 대한 아이디어가 있습니까?

+0

처럼 soomething을 CreateChildControls 방법

을 무시하는 컨트롤을로드해야합니다 ..? 또한 자리 표시자를 봐 – MethodMan

+0

'Page_Load' 이벤트도 시도해 보셨습니까? – Raxr

+0

팝업 컨트롤은 다른 모든 컨트롤과는 완전히 별개이므로 기본 페이지 내용보다 먼저로드해야합니다. – CodeMan5000

답변

2

당신은 항상 생각 컨트롤이 메인 페이지의 콘텐츠하기 전에 채워야하는

protected override void CreateChildControls() 
    { 
     base.CreateChildControls(); 
     //now load your control here 
    } 
+0

레오나르도 방법에 대한 샘플이 있습니까? – CodeMan5000

+0

@LarryBargers 업데이트 됨 – Leonardo

+0

Leonardo,이 훌륭한 TY 일했습니다! – CodeMan5000

관련 문제