2017-10-26 9 views
1

나는 (changecity.ascx)이 표시된 masterpage입니다.ASP.NET masterpage : - masterpage에서 usercontrol을 제거하는 방법

  1. selectcity.aspx
  2. signup.aspx

하지만 난 단지 selectcity.aspxchangecity.ascx을 보여주고 싶은 : 지금은이 영문 페이지에 동일한 마스터 페이지를 사용하고 있습니다.

설정할 수 있습니다. s visibility from child pages but I don't want to do that because page events of changecity.ascx`은 여전히 ​​실행 중입니다.

masterpage에서 완전히 제거하여 changecity.ascx의 이벤트가 발생하지 않도록하고 싶습니다.

내가 지금까지 무슨 짓을 : --- 내가 signup.aspxpreinit 경우에 masterpage에서 컨트롤을 제거했습니다. 페이지 라이프 사이클 이벤트 인 changecity.ascx은 아직 발발하고 있습니다. 내가 어떻게 그걸 막을 수 있니?

답변

0

컨트롤을 코드 숨김으로로드하여 페이지에 추가 할 수 있습니다. .aspx에서 if를 시도하면 렌더링되지만 출력되지는 않습니다.

영문 :

<asp:placeholder id="changeCityControl" runat="server" />  

Codebehind가 :

ChangeCityControl ccControl = (ChangeCityControl)LoadControl("/changecity.ascx") 
if (renderChangeCityControl){  
    changeCityControl.Controls.Add(ccControl); 
} 

은 자세한 내용은 this 마이크로 소프트 페이지를 참조하십시오.

+0

나는 이것을 점검 할 것이다. 나는 이것이 도움이 될 것이라고 생각한다. – iGod

+0

이 컨트롤이 마스터 페이지에서 어떻게 작동 할까? 패널 안쪽에 배치해야합니까? – iGod

+0

OnInit (Page_Init)에 컨트롤을 추가하려고 했습니까? –