0

У меня проблема с удалением записи с RadAjaxManager.Невозможно найти Radajaxmanager при использовании внутри пользователя.

ТипError: ajaxManager - null.

Это мой код:

Default.aspx:

<asp:Content ID="Content3" ContentPlaceHolderID="a1" runat="server"> 
    <uc1:ucMyUser runat="server" ID="ucMyUser"/> 
</asp:Content> 

ucMyUser:

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
     <telerik:RadAjaxManager ID="RadAjaxManager2" runat="server"> 
      <AjaxSettings> 
       <telerik:AjaxSetting AjaxControlID="RadAjaxManager2"> 
        <UpdatedControls> 
         <telerik:AjaxUpdatedControl ControlID="Grid1" UpdatePanelCssClass="" /> 
        </UpdatedControls> 
       </telerik:AjaxSetting> 
      </AjaxSettings> 
     </telerik:RadAjaxManager> 

<telerik:RadGrid ID="rgEmpCategory" runat="server"> 
<Columns> 
    ---Rest other columns and configurations 
    <asp:ImageButton runat="server" ID="Remove" Text="Remove" ToolTip="Remove" CommandArgument='<%#Eval("ID")%>' OnClick="Remove_Click" OnClientClick='<%# Eval("ID", "javascript:return Remove(\"{0}\");") %>' /> 
</Columns> 

Master Page:

function Remove(val) { 
     var Value= 'Remove'; 
     var ajaxManager = $find("ctl00_cphMain_RadAjaxManager2"); 
     var arg = Value + "," + val; //Remove,1(1 indicates Id here) 
     ajaxManager.ajaxRequest(arg); 
    } 

Примечание: Это выше сценарий на моей главной странице, так что я не могу использовать, как это:

var ajaxManager = $find("<%= RadAjaxManager2.ClientID %>"); 

ответ

1
  1. НЕ завернуть RadAjaxManager в UpdatePanel или что-нибудь из сортировать

  2. переместите RadAjaxManager на свою основную страницу, где он находится

  3. использование RadAjaxManagerProxy или RadAjaxPanel контроля в вашем пользователе управляет

  4. Я также вижу, что вы нашли правильный путь refrence в RadAjaxManager на клиенте через пользователь блоков кода сервера

  5. рассмотрению эту статью на что делает ваши функции JS уникальными для экземпляров UC, поэтому вы можете их инкапсулировать: http://www.telerik.com/support/kb/aspnet-ajax/details/using-dynamic-unique-names-for-javascript-functions.

+0

Можете ли вы указать какой-либо код для описанных вами пунктов, и если я использую RadAjaxManagerProxy или RadAjaxPanel, то как бы я ссылался на него на стороне клиента i.e в моем скрипте? –

+1

Как и любой другой IScriptContol - через $ find(). Не забудьте передать его clientid в качестве аргумента. См. Здесь http://docs.telerik.com/devtools/aspnet-ajax/controls/ajax/how-to/manually-add-an-ajax-request – rdmptn

+0

Да, это нормально, но все же я хотел бы видеть ваше решение, описывающее все ваши баллы, которые вы указали в своем решении в виде кода, так как это помогло бы мне узнать что-то новое, а также другие, поэтому было бы лучше, если бы вы опубликовали некоторые коды, потому что при поиске этой проблемы я уже видел эти вопросы, отправленные вами по другому вопросу –

Смежные вопросы