2009-05-04 4 views
0

저는 usercontrol에서 AJAX.Net (3.5)을 사용하고 있습니다. usercontrol에는 UpdatePanel이 있고 UpdatePanelhere에는 MultiView가 있습니다. ScriptManager는 usercontrol의 컨테이너 역할을하는 페이지에 포함되어 있습니다.AJAX.Net - UpdatePanel에서 이전 내용을 삭제하지 않습니다.

보기간에 전환하려면 사용자 정의 컨트롤에 간단한 단추가 포함되어 있어야합니다. 클릭하면 이전 내용이 숨겨지고 새 내용이 표시되도록보기가 변경됩니다. 내 문제는 콘텐츠가 전혀 숨겨져 있지 않다는 것입니다. 보기가 변경되고 새 내용이 표시되지만 이전 내용은 페이지에 남아 있습니다. 문제를 분리하기 위해 간단한 라벨의 다중보기 및 전환 표시를 변경해 보았지만 동작은 동일합니다. 아이디어가 있으십니까?

+0

표시 유형을 전환하는 데 어떤 방법을 사용하고 있습니까? – Daniel

답변

0

시도 UpdatePanel 외부의 테이블.

내 제어에서 테이블의 일부 행을 표시하거나 숨기려고합니다. 나는 trtd 태그를 updatepanel 안에 포함 시켰습니다.

lblToShow.Visible = true; 
lblToHide.Visible = false; 

모두 라벨의 텍스트 (lblToHide는 숨기지 않습니다)

페이지에 표시됩니다 : 사용 가시성을 변경하는 경우

<table> 
<asp:UpdatePanel ID="UpdatePanel" runat="server"> 
    <ContentTemplate> 
     <tr> 
      <td> 
       <asp:Label ID="lblToShow" runat="server" Text="Label to show" Visible="false" /> 
       <br /> 
       <asp:Label ID="lblToHide" runat="server" Text="Label to hide" /> 
      </td> 
     </tr> 
    </ContentTemplate> 
</asp:UpdatePanel> 
</table> 

:

문제를 재현하는 방법 테이블을 태그 안에 이동하면 UpdatePanel이 제대로 작동합니다.

+0

UpdatePanel이 브라우저에 div를 렌더링하지 않습니까? 그렇다면 현재보고있는 문제를 설명 할 수 있습니다. –

+0

예. 모든 UpdatePanel은 div 내에서 렌더링합니다 : – nicoruy

0

전화

updatepanel.Update() 

당신이 당신의 updatepanel로 변경 한 후

또는 당신의 부분이있는 경우 AJAX.Net 아주 잘 작동하지 않는 것 같다

updatepanel.Controls.Clear(); 
+0

updatepanel.Update(); 문제를 해결하지 못합니다. updatepanel.Controls.Clear(); 새 내용이 표시되기 전에 삭제되지만 이전 내용은 그대로 유지됩니다 (페이지가 변경되지 않음) – nicoruy

+0

여기에 원본을 제공 할 수 있습니까 – DaDa

1

오, 알고 있습니다. 그 때 괜찮습니다. 문제는 아약스가 아닙니다. 단지 <table> 태그에 무엇인가를 포함시킬 수 없습니다. 이 경우 <table> 컨트롤과 다른 것을 시도 할 수 있습니다. 어쩌면 <div> 또는 다른 것일 수 있습니다. 나는 당신이 어떤 상황에 처해 있는지 정확히 알지 못합니다. 어쩌면 당신은 내가 당신에게 조언을 해줄 수 있기를 원하는 결과를 설명 할 것입니다.

감사합니다.

+0

내 실제 코드에 테이블 안에 MultiView가 있습니다. 뷰를 변경하면 테이블의 행을 바꿀 때 다른 뷰를 사용합니다. 뷰를 변경하면 새로운 행을보고 숨기기를 원합니다. 오래된 것들. UpdatePanel 안에 테이블을 포함하면 모든 것이 잘 작동합니다 (전체 테이블이 업데이트됩니다) – nicoruy

관련 문제