0

我有一个内容页面和一个用户控件。用户控件使用 CollapsiblePanelExtender。我在面板的“onmouseout”上编写了以下 javascript 函数。

<script language="javascript" type="text/javascript">
function doToggle() 
{
var cpe = $find("CollapsiblePanelExtender1.ClientID");
//cpe._toggle();
if (!cpe.get_Collapsed()) { 
cpe._doClose();
}
}
</script>

此内容页面是母版页的一部分。当我运行代码时,我得到 javascript 错误。cpe 始终为空。如何将 $find 用于 CPE 的母版页场景?我也尝试了 document.getElementById 并传递了客户端 ID,但它仍然没有用。请帮忙。

4

1 回答 1

1

通过将 BehaviorID="cpe" 添加到 CollapsiblePanelExtender 解决了问题。

<ajax:CollapsiblePanelExtender ID="cpe" runat="Server" BehaviorID="cpe"
    TargetControlID="SettingsContentPanel" CollapsedSize="0" Collapsed="True" ExpandControlID="SettingsTitlePanel"
    CollapseControlID="SettingsTitlePanel" ScrollContents="False" ImageControlID="btnSettingsPopup"
    SuppressPostBack="true" ExpandedImage="~/images/collapse.jpg" CollapsedImage="~/images/expand.jpg"
    ExpandDirection="Vertical" AutoCollapse="false" AutoExpand="false" />

然后 $find 函数就能找到控件,代码如下:

function doToggle() 
{
    var cpe = $find("cpe");
    if (!cpe.get_Collapsed())
    { 
        cpe._doClose();
    }
}
于 2011-01-13T14:57:28.700 回答