2013-11-12 3 views
0

.Net 4.0 Telerik RadControls для ASP.NET Ajax версии: 2013.3.1015.40

Я использую telerik: RadAjaxManager для обновления RadGrid и RadComboBox после вызова метода сервера с помощью кнопки asp :. После того, как сетка загрузилась, он вызывает нижеследующий javascript, который является фрагментом функции, которая проверяет все флажки на стороне клиента. Если я использую кнопку asp: как AjaxControlID для обновления RadComboBox, метод обновляет combobox, но var ddl возвращает null, и я получаю сообщение об ошибке «Uncaught TypeError: не может вызвать метод get_items« null ». Однако, если я обновляю RadComboBox через событие OnNeedDataSource обновления RadGrid, я получаю обратное. RadComboBox не обновляется, хотя метод работает, но ddl заполняется, как ожидалось, и методы javascript могут запускаться.

function GridLoaded(sender, args) { 
    var ddl = $find("<%= RadComboBox.ClientID %>"); 
    var items = ddl.get_items(); 
    ... 
} 

Что имеет значение:

function GridLoaded(sender, args) { 
    var ddl = $find("ctl00_PrimaryContent_RadComboBox"); 
    var items = ddl.get_items(); 
    ... 
} 

Я попытался инкапсулированием яваскрипта сечения в RadCodeBlock и RadScriptBlock, основываясь на многочисленных других представленных решениях без улучшения.

Эта функциональность работает на отдельной странице с той лишь разницей, что ComboBox вызывается из OnSelectedIndexChanged из одного RadGrid для обновления другого RadGrid.

Я проверил здесь без решения. telerik RadComboBox find Returns null - why?

ответ

0

Я, наконец, понял, что это один из получил его работу.

Очевидно, RadAjaxManager хочет обновить ComboBox, а также для того, чтобы все работало вместе.

<telerik:RadAjaxManager ID="RadAjaxManager" runat="server" UpdatePanelsRenderMode="Inline"> 
    <AjaxSettings> 
     <telerik:AjaxSetting AjaxControlID="RadAjaxManager"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="RadComboBox" /> 
       <telerik:AjaxUpdatedControl ControlID="RadGrid" /> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
    ... 
    </AjaxSettings> 
</telerik:RadAjaxManager> 

Если кто-нибудь может дать мне достоверную причину, почему это, я с удовольствием отметит его в качестве ответа. В противном случае я надеюсь, что это предотвратит разочарование для кого-то другого.