如何使用CollapsiblePanelExtender创建多个关闭按钮?

时间:2009-04-13 15:05:52

标签: asp.net asp.net-ajax collapsiblepanelextender

我的页面上有一个asp.net ajax CollapsiblePanelExtender控件。设计此控件的方式,您可以指定一个控件来打开面板,另一个控件来关闭它:

<ajaxToolkit:CollapsiblePanelExtender ID="cpe" runat="Server"
  TargetControlID="panelStuff"
  ExpandControlID="butToggle" CollapseControlID="butToggle" Collapsed="True"
  SuppressPostBack="true" />

如果ExpandControlID和CollapseControlID相同,就像在此示例中一样,则控件将打开和关闭面板。

但我想要的是另一个允许用户关闭此面板的控件(在panelStuff中)。理想情况下,我想指出:

CollapseControlID="butToggle,butClose"

任何想法如何做到这一点?

2 个答案:

答案 0 :(得分:3)

实现这一目标的一种方法:

将BehaviorID分配给CollapsiblePanelExtender:

<ajaxToolkit:CollapsiblePanelExtender ID="cpe" runat="Server" 
  BehaviorID="cpeForBehavior"
  TargetControlID="panelStuff"
  ExpandControlID="butToggle" CollapseControlID="butToggle" Collapsed="True"
  SuppressPostBack="true" />

创建javascript函数以执行所需的行为:

function closeCpe() {
    $find("cpeForBehavior")._doClose();
}

在事件处理程序中执行函数:

<input type="button" id="MyOtherButton" onclick="closeCpe();" />

答案 1 :(得分:1)

与上面的答案相同,但我正在寻找切换。 _doToggle()不起作用,所以仅供参考:

 function closeCpe() {
            var cpe = $find("cpeForBehavior");

            if (cpe.get_Collapsed()) {
                cpe._doOpen();
            }
            else {
                cpe._doClose();
            }
        }