2009-12-03 2 views
1

.NET 3.5 사용.ASP .NET C# - AJAX 아코디언 창을 프로그래밍 방식으로 확장/축소할까요?

AJAX 아코디언 컨트롤 내에 포함 된 창을 프로그래밍 방식으로 확장/축소하려면 어떻게해야합니까?

내 페이지에는 일부 버튼으로 대량 확장/축소 할 수있는 여러 개의 아코디언 컨트롤이 있습니다.

는 갱신 1은

내 최종 코드 솔루션은 다음과 같습니다

<script language="javascript"> 
function collapse_all(flag) 
{ 
if(flag==true) 
{    
var behavior = $get("<%=Accordion1.ClientID%>").AccordionBehavior;    
behavior.set_SelectedIndex(-1);    
} 
else 
{ 
var behavior = $get("<%=Accordion1.ClientID%>").AccordionBehavior;    
behavior.set_SelectedIndex(0);    
} 
}  
</script> 

답변

1

당신은 자바 스크립트의 accourdion 제어를 찾을 수

그래서 (사용 JQuery와)

$("#<%=Accordion1.ClientID%>_AccordionExtender").set_SelectedIndex(-1) 

"set_SelectedIndex (-1)"전화 몇이있는 경우, 다음 중 하나를 수행 할 수 있습니다 discretly 그들 모두를 할 또는 jquery 선택기 중 하나를 사용하여 모두 찾으려면 아코디언을 닫아야 모든 창을 닫을 수 있도록 설정해야합니다 (RequireOpenedPane = false)

+0

감사합니다. 코드 숨김 기능이 실제로 작동하기를 바랬습니다 ... 오. –

+0

코드에서 다시 할 수도 있지만 컨트롤의 SelectedIndex를 -1로 설정하십시오. 그러나 클릭 할 때 서버 왕복이 필요합니다. RequireOpenedPane 컨트롤을 잊어 버려서 이것을 허용하려면 false 여야합니다. – Pharabus

1

당신은 프로그래밍 방식 서버 측 코드 (VB.NET/C#)를 통해이를 확장 할 수 없습니다의 확장 때문에 창이 클라이언트 측 코드 (JavaScript)로 수행됩니다. 내가 너라면 JQuery 라이브러리를 살펴보고 표시/숨기기 기능을 사용하여 원하는대로 원하는 맞춤 아코디언 컨트롤을 빌드하는 것이 좋습니다. JQuery는 "WebForm-like"로 보일 것 같지 않지만 AJAX Control Toolkit보다 훨씬 유연합니다.

1

asp.net 아약스 업데이트 패널을 사용하면 t를 통해 모든 창을 쉽게 축소 할 수 있습니다. 그는 선택된 인덱스를 0으로 설정합니다.