Ошибка 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();
}
}