2011-01-12 4 views
0

У меня есть страница контента и пользовательский элемент управления. Пользовательское управление использует 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 всегда null. Как использовать $ 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" /> 

И тогда $ найти функция будет в состоянии найти контроль, подобный код:

function doToggle() 
{ 
    var cpe = $find("cpe"); 
    if (!cpe.get_Collapsed()) 
    { 
     cpe._doClose(); 
    } 
} 
+0

Но если у меня есть несколько из них? как в ListView ... тогда его не работает ... – John