Question

Utilisation de .NET 3.5.

Comment puis-je programmtically ouvrir / fermer les vitres contenues dans un contrôle d'accordéon AJAX?

Ma page aura plusieurs contrôles Accordéons que je veux être en mesure de masse / déplier avec quelques boutons.

Update1

Ma solution de code final ressemble à ceci:

<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>
Était-ce utile?

La solution

vous trouverez le contrôle de accourdion en javascript et appeler "set_SelectedIndex (-1)"

so (en utilisant jquery)

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

si vous avez un peu, vous pouvez les faire tous discrètement ou utiliser l'un des sélecteurs de jquery pour les trouver, les accordéons devront avoir été mis en place pour permettre à tous les volets pour fermer je crois (RequireOpenedPane = false)

Autres conseils

Vous ne pouvez pas les étendre programmation via votre code côté serveur (VB.NET/C#) parce que l'expansion des vitres se fait dans le code côté client (JavaScript). Si je vous, je vous suggère de jeter un oeil à la JQuery Les bibliothèques et en utilisant leur émission / cacher les fonctions de construire un contrôle d'accordéon personnalisé pour faire ce que vous voulez. JQuery semblera moins « WebForm-like » mais vous trouverez beaucoup plus souple que le AJAX Control Toolkit.

Si vous mettez le contrôle de l'accordéon dans un panneau de mise à jour ajax asp.net, vous pouvez réduire toutes les fenêtres facilement via le codebehind réglage de l'index sélectionné à zéro.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top