我有一个内容页面和一个用户控件。 usercontrol使用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>
此conent页面是母版页的一部分。当我运行代码时,我收到javascript错误。 cpe总是为空。如何在主页面场景中使用$ find for CPE?我也尝试过document.getElementById并传递了客户端ID,但它仍然没有用。请帮忙。
答案 0 :(得分:1)
通过向CollapsiblePanelExtender添加BehaviorID =“cpe”解决了问题。
<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();
}
}