2010-05-23 3 views
1

사용자 지정 asp.net 서버 컨트롤을 만들었습니다. 그것은 정상 asp.net 페이지 및 브라우저 내부 DOM 개체로 작동합니다. 하지만 전에는 UpdatePanel을 사용한 적이 없으며, 이제는이 컨트롤이 제대로 작동하는지 확인하려고 노력 중입니다. 그렇지 않습니다. 내 컨트롤을 업데이트 패널 외부의 페이지에 추가하고 일부 패널의 내부 버튼 (트리거)을 클릭하면 모든 것이 올바르게 작동합니다. 그러나 내 컨트롤을 업데이트 패널에 배치하고 해당 단추를 다시 클릭하면 컨트롤이 페이지에서 완전히 사라집니다. 나는 여전히 javascript 디버거와 업데이트에서 컨트롤을 볼 수 있습니다. 즉, 개체 자체가 여전히 DOM에 있음을 의미합니다. 어떤 이유로 든 패널이 내 컨트롤의 외부 div 요소를 "숨 깁니다"처럼 보입니다. 버튼 클릭 핸들러에서 패널의 Update() 메서드를 호출하고 패널의 UpdateMode를 조건부 및 항상으로 설정하려고했습니다. 모두 같은 결과가 나타납니다. 어떻게 해결할 수 있습니까? 고맙습니다!UpdatePanel 업데이트시 페이지에서 사용자 정의 서버 컨트롤이 사라짐

+0

당신은 이것에 대해 너무 확실하지 않다 영문 코드 –

답변

0

TriLLi에 대한 응답으로 다른 컴퓨터에서 게시 : 여기 내 aspx 코드입니다. 다시, UpdateMode는 Conditional 또는 Always 일 수 있습니다. 결과는 동일합니다. cc1 : WebControl은 사라지지만 btnTest 클릭 이후에는 lblInfo 레이블이 완전히 작동합니다.

<form id="form1" runat="server"> 
<asp:scriptmanager ID="scrManager" runat="server"></asp:scriptmanager> 
<div> 
    <asp:updatepanel ID="pnlTest" runat="server" UpdateMode="Conditional"> 
     <ContentTemplate> 
         <div class="designer"> 
       <cc1:WebControl ID="ceFirst" runat="server" decisionxmlfilevirtualpath="/Person.config" autolist="User" help="Off"></cc1:WebControl> 
        </div> 
      <div class="designer"> 
       <asp:label ID="lblInfo" runat="server" forecolor="red"></asp:label> 
      </div> 
      <div class="designer"> 
       <asp:button ID="btnTest" runat="server" width="100" text="Test" /> 
      </div> 
     </ContentTemplate> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="btnTest" EventName="Click" /> 
     </Triggers> 
    </asp:updatepanel> 
</div> 
</form> 
+0

를 붙여하지만 컨트롤은 당신이 업데이트 패널이 콜백을 종료 할 때 자바 스크립트 코드를 호출 할 필요가 보여 자바 스크립트를 사용하는 경우, 코드에 추가 할 수 있습니다 뒤에 경우 업데이트 패널 콜백 ScriptManager.RegisterStartupScript (.... –

+0

네, 저도 알고 있고 저것을 알고 있습니다. 여기 아주 간단한 것을 놓치고있을 것이라고 확신합니다. 그래도 고마워. – Sasha

+0

얘들 아, 제발? :) – Sasha

관련 문제