RadTreeView не может быть найден в обработчике события OnClientNodeClicked - PullRequest
0 голосов
/ 26 октября 2011

Я использую Telerik RadTreeView, и я предоставил функцию JavaScript для его свойства OnClientNodeClicked:

<telerik:RadTreeView 
    ID="pagesTree" 
    runat="server" 
    OnClientNodeClicked='onPageSelected' 
    ClientIDMode='static'>
</telerik:RadTreeView>

$telerik.$(document).ready(function () {
    onPageSelected(); // To run the onPageSelected function on DOM ready
}

function onPageSelected(e){
   var pagesTree = $find('pagesTree');
   // pagesTree is null here in IE8 for the manual execution on DOM ready
}

Что я делаю, это вручную запускаю onPageSelected на DOM Telerik готов,Тем не менее, переменная pagesTree в это время равна нулю.В чем дело?Эта проблема возникает только в IE8 (даже не в IE9, и мы не поддерживаем IE7 и ниже)

1 Ответ

1 голос
/ 29 октября 2011

Скорее всего, это связано с тем, что вы просто используете $find('pagesTree').Следует помнить, что идентификатор, установленный для серверного элемента управления ASP.NET (Telerik или не Telerik), будет генерировать ClientID.Вы можете получить правильный объект на стороне клиента, выполнив следующие действия:

var pagesTree = $find('<%= pagesTree.ClientID %>');

Когда страница будет отображена, <% = pagesTree.ClientID%> будет отображаться как строка с правильным ClientID вашего элемента управления.

...