2009-04-13 5 views
0

내 페이지에 asp.net ajax CollapsiblePanelExtender 컨트롤이 있습니다. 이 컨트롤이 설계 방법, 당신은 그것을 닫습니다 패널 및 다른 컨트롤을 열 하나의 제어를 지정할 수 있습니다 : 그들은이 예제에로 ExpandControlID 및 CollapseControlID이 동일한 경우CollapsiblePanelExtender에 여러 개의 닫기 버튼이있는 방법은 무엇입니까?

<ajaxToolkit:CollapsiblePanelExtender ID="cpe" runat="Server" 
    TargetControlID="panelStuff" 
    ExpandControlID="butToggle" CollapseControlID="butToggle" Collapsed="True" 
    SuppressPostBack="true" /> 

는 다음 컨트롤 패널을 전환 열리고 닫혔다.

하지만 사용자가이 패널을 닫을 수있는 또 다른 컨트롤 (panelStuff 내)이 필요합니다. 이상적으로 다음과 같이 지정하고 싶습니다.

CollapseControlID="butToggle,butClose" 

아이디어가 있습니까?

function closeCpe() { 
    $find("cpeForBehavior")._doClose(); 
} 

이벤트 핸들러에 실행 기능 : 원하는 동작을 실행하도록 작성

<ajaxToolkit:CollapsiblePanelExtender ID="cpe" runat="Server" 
    BehaviorID="cpeForBehavior" 
    TargetControlID="panelStuff" 
    ExpandControlID="butToggle" CollapseControlID="butToggle" Collapsed="True" 
    SuppressPostBack="true" /> 

자바 스크립트 함수를 다음 CollapsiblePanelExtender에 BehaviorID 할당

이 달성

답변

2

편도

<input type="button" id="MyOtherButton" onclick="closeCpe();" /> 
+0

어디서 _doClose()를 찾았습니까? 이런 종류의 명령을위한 문서가 있나요? 확장하고 싶지 않고 붕괴하지 않으려면 어떻게해야합니까? 나는 doOpen()이 작동 할 것이라고 추측하지만, 내가 모를 경우에는 어떻게 될까? – adinas

+0

adinas : 어디에서 문서를 찾으러 가야할지 모르겠다. 이것은 extender에 대한 문서화되지 않은 기본 지원 함수 일 수 있습니다. 즉, _doOpen() 및 _doToggle()을 사용할 수도 있습니다. – HectorMac

1

위와 같은 대답이지만 토글을 찾고있었습니다. _doToggle()은 작동하지 않으므로 참조 용으로 만 사용하십시오.

function closeCpe() { 
      var cpe = $find("cpeForBehavior"); 

      if (cpe.get_Collapsed()) { 
       cpe._doOpen(); 
      } 
      else { 
       cpe._doClose(); 
      } 
     } 
관련 문제