ASP .NET C# - 以编程方式扩展/折叠AJAX手风琴窗格?

时间:2009-12-03 20:58:14

标签: asp.net ajaxcontroltoolkit accordion

使用.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 个答案:

答案 0 :(得分:1)

您无法通过服务器端代码(VB.NET/C#)以编程方式扩展它们,因为窗格的扩展是在客户端代码(JavaScript)中完成的。如果我是你,我建议您查看JQuery库并使用他们的显示/隐藏功能来构建自定义手风琴控件以执行您想要的操作。 JQuery似乎不像“类似WebForm”,但你会发现它比AJAX Control Toolkit更灵活。

答案 1 :(得分:1)

你可以在javascript中找到accourdion控件并调用“set_SelectedIndex(-1)”

所以(使用jquery)

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

如果你有一些,你可以自己做一切,或者使用其中一个jquery选择器来找到它们,手风琴必须设置为允许所有窗格关闭我相信(RequireOpenedPane = false)

答案 2 :(得分:1)

如果您将accordion控件放在asp.net ajax更新面板中,您可以通过将所选索引设置为零的代码隐藏轻松折叠所有窗格。