We are working on extending the RadXmlHttpPanel's documentation - and one area where we will certainly provide more information is comparison against RadAjaxPanel - when it is better to use one, and when it is good to use the other.
That said, the default RadXmlHttpPanel demo's
description does provide some insight on the matter. For your convenience I paste it here:
Telerik RadXmlHttpPanel is a panel that can load content on demand.
Unlike UpdatePanel, or RadAjaxPanel, it is not universal, and cannot be used in all scenarios.
However, in scenarios where it is possible to use it, it will deliver much better performance compared to its AJAX counterparts.
Partial page updates with AJAX are flexible and can be used in just
about any scenario. However, when AJAX is used, the server-side page
goes through its full page lifecycle. The whole control tree is
created, all event handlers are executed, the ViewState is processed
and updated, and sent back to the client. On the other hand, callbacks
and web services can also be used for partial page
updates, but carry a much smaller (or even no additional) overhead.
There are two ways for loading data on the RadXmlHttpPanel - by using the ASP.NET Callback mechanims and WebService.
- Callback - When a client callback is
used, the server Page does not go through its whole lifecycle, but only
a small part of it. The client state is not updated, and it is not sent
back to the client-side. When Callbacks are used, a POST request is
made from the client to the server, and the values of all FORM fields,
such as hidden fields (including the view state field) are sent to the
server. When the view state is large, this could mean increased
overhead. On the other hand, no extra files are needed to use this mode
(unlike when using a WebService).
- WebService - can be used to handle the data request of the RadXmlHttpPanel.
The WebMethodPath and the WebMethodName
properties should be set and the RadXmlHttpPanel automatically
retrieves and loads the data. Similarly as in the Client Callback the
client state is not affected. A web service requires a couple of extra
files to set up, but it is the most efficient approach, as no data,
other than the Value
string is sent over from the client to the server.
2) There are no examples yet other than the demos, but we will be adding more soon - along with extending the documentation.
The decision whether to use pure AJAX or the RadXmlHttpPanel is in fact very simple - if you are not sure whether you can use the RadXmlHttpPanel, then you must use AJAX.
In this particular case with RadGrid, you should use AJAX. However, there is another approch that you might consider examining - and this is using the built-in RadGrid client-side binding (which uses neither RadAjaxPanel or RadXmlHttpPanel). Here is a demo on RadGrid's client-side binding which provides extra information:
the Telerik team