我的页面上有一个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"
任何想法如何做到这一点?
答案 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();
}
}