2009-12-03 5 views
1

Использование .NET 3.5.ASP.NET C# - Программно расширять/сворачивать панели аккордеона AJAX?

Как программно расширить/свернуть панели, содержащиеся в AJAX-регуляторе аккордеона?

На моей странице будет несколько элементов управления аккордеонами, которые я хочу, чтобы иметь возможность массового расширения/сглаживания с помощью некоторых кнопок.

Update1

Мое окончательное решение код выглядит следующим образом:

<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 в JavaScript и называют "set_SelectedIndex (-1)"

так (используя JQuery)

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

, если у вас есть несколько, вы можете сделать их все discretly или использовать один из селекторов jquery, чтобы найти их все, должны быть настроены аккордеоны, чтобы все окна закрывались, я верю (RequireOpenedPane = false)

+0

Спасибо. Я действительно надеялся, что код будет работать ... ну ладно. –

+0

, вы можете сделать это и в коде, также установите для SelectedIndex элемента управления значение -1, однако для этого требуется один клик на сервере. Не забывайте, что для выполнения этого требования RequireOpenedPane должен быть ложным. – Pharabus

1

Вы не можете расширить их программно через вас серверного кода (VB.NET/C#), так как расширение панели выполняются в клиентском коде (JavaScript). Если бы я был вами, я бы предложил взглянуть на библиотеки JQuery и использовать их функции show/hide для создания пользовательского элемента управления аккордеона, чтобы делать то, что вы хотите. JQuery будет казаться менее «похожим на WebForm», но вы найдете его гораздо более гибким, чем AJAX Control Toolkit.

1

Если вы положили элемент управления аккордеона в asp.net ajax панели обновления, вы можете легко свернуть все панели с помощью t он кодирует значение, заданное для выбранного индекса, равным нулю.