1

我的页面上有一个 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"

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

4

2 回答 2

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();" />
于 2009-04-13T18:39:34.517 回答
1

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

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

            if (cpe.get_Collapsed()) {
                cpe._doOpen();
            }
            else {
                cpe._doClose();
            }
        }
于 2011-11-22T16:49:26.107 回答