Ошибка JavaScript на $find для элемента управления CollapsiblePanelExtender для сценария MasterPage

У меня есть страница контента и пользовательский элемент управления. Пользовательский контроль использует CollapsiblePanelExtender. Я написал следующую функцию javascript на "onmouseout" панели.

<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 и передал идентификатор клиента, но он не работал. Пожалуйста помоги.

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();
    }
}
Другие вопросы по тегам