You have added the necessary AJAX settings, but the control is not updated as expected. There are several possible reasons for this in cases when RadAjaxManager is used:
1) First of all, you should check whether the control is updated without using AJAX.
Just set EnableAJAX property of RadAjaxManager to false and verify your control is updated using regular postbacks. Note in most cases the AJAX
initiator control (the one set as ajaxified) will need to post back to the server, so the Ajax Manager will be able to "tranform" its postbacks to AJAX requests.
2) You should verify whether the proper AJAX initiator control is set and an user interaction concerning this control updates the one, set as
AJAX updated control.
For instance, confusion may come when using ajaxRequestWithTarget client-side function. There, the AJAX initiator is the control, which
UniqueID is set as the eventTarget argument of the function, which may not be (as is the purpose of this function) RadAjaxPanel or
RadAjaxManager controls. On the other hand when one updates a control in AjaxRequest server side for example, the AJAX initiator should be
RadAjaxManager itself.
3) Check whether you don't try to ajaxify control placed in RadAjaxPanel using the RadAjaxManager.
For instance, if you have placed a button in RadAjaxPanel and want the button to update control outside of the AJAX Panel, it won't be updated despite the AJAX
Manager's AJAX Settings. RadAjaxPanel precedes RadAjaxManager so the Panel will make the AJAX requests updating its content only (as this is
the way that the control is designed). More on the matter can be found here.
4) You have ajaxified container control (like ASP:Panel) and also want to ajaxify control inside it.
Note, this can't be achieved using RadAjaxManager designer. If you have added such settings manually, indeed some of them won't work. Here is an example where a button is
expected to update two labels:
| ASP.NET |
Copy Code |
|
<asp:Panel ID="Panel1" runat="server"
Height="51px" Width="287px">
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
<asp:Label ID="Label1" runat="server" Text="1" Height="18px" Width="224px"></asp:Label>
</asp:Panel>
<asp:Label ID="Label2" runat="server" Text="2" />
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="Panel1">
<UpdatedControls>
<telerik:AjaxUpdatedControl
ControlID="Label2" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="Button1">
<UpdatedControls>
<telerik:AjaxUpdatedControl
ControlID="Label1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
|
Here only one label will be updated, because only one of these settings will be taken by the Manager. RadAjaxManager designer won't allow adding the second
setting and you may simply use only one AjaxControlID (Panel1 or Button1) to achieve your goal:
| ASP.NET |
Copy Code |
|
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="Button1">
<UpdatedControls>
<telerik:AjaxUpdatedControl
ControlID="Label2" />
<telerik:AjaxUpdatedControl
ControlID="Label1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
|