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 は常にヌルです。マスター ページのシナリオで CPE に $find を使用する方法は? また、document.getElementById を試してクライアント ID を渡しましたが、それでも機能しませんでした。助けてください。

4

1 に答える 1

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();
    }
}
于 2011-01-13T14:57:28.700 に答える