ASP .NET C # - программно развернуть / свернуть панели аккордеона AJAX? - PullRequest
1 голос
/ 03 декабря 2009

Использование .NET 3.5.

Как программно развернуть / свернуть панели, содержащиеся в элементе управления аккордеоном 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>

Ответы [ 3 ]

1 голос
/ 04 декабря 2009

вы можете найти элемент управления accourdion в javascript и вызвать "set_SelectedIndex (-1)"

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

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

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

1 голос
/ 26 апреля 2013

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

1 голос
/ 04 декабря 2009

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

...