Hello Ben,
Thank you for contacting us and for the effort to provide us a feedback.
We are aware of this behavior of the loading panels. I read very carefully your posts and I am about to explain you why exactly this is happening.
First of all I tested your project. And saw that update of the content in the RadAjaxLoadingPanel1 is happening but only the loading panel is missing. When you click on the HTML Button after 2 seconds the HTML link button is appearing on the page. So it is clear that call back s happening and the content is updated. But yes the loading panel is missing and it is not showing while the page is loading.
Now when we click on the ASP button the content is updated and the loading panel is also showed.
So of course we debugged the project to see what is the difference and why this is happening. What turn out was that when the HTML button is clicked 2 following callbacks are started. First of which gets aborted. And after the second one finishes, page gets updated with the new content. The sequence is:
1) First Callback is initializing and loading panel is shown.
2) Second callback is initializing, loading panel is already shown.
3) After the first callback is aborted the loading panel get hidden.
4) After 2 seconds the browser receive the server response and update the page.
In IE7 (2) and (3) steps are reversed and because of this the loading panel is show again and then is hidden in (4) step.
The loading panel is hiding on callback abort by design, and this is the correct behavior for the LoadingPanel. Because in normal circumstances after you abort the POST callback you will want the page to be again functional (no loading panels to be shown).
And so the problem here is with the double callback and abortion of the first one.
I removed the
RadAjaxPanel and I wrap the button in
asp:UpdatePanel. And then I again tested what is happening. It turns out that using an
asp:UpdatePanel again 2 callbacks are started and then first is aborted. So it is exact the same behavior between
RadAjaxPanel and
asp:UpdatePanel when we talk about the callbacks and updating the page.
The problem clearly comes from using HTML button with onserverclick inside the
asp:UpdatePanel. Actually
RadAjaxPanel itself uses
asp:UpdatePanels to works.
You can find the attached project that uses only Microsoft's controls. And the same problem with the double callback exist. I have also attached a screenshot of Firebug's console to illustrate what is the error.
The correct way is to use WebControl such as ASP:Button. Because if you use html button you will get other troubles as well as this with the double callback. You will also not be able to execute client code and fire server event in the same time. Find more information
here.
I hope this helps.
Kind regards,
Vasil
the Telerik team