The problem comes from the fact that the RadDock control has not been correctly ajaxified. When it is moved on the client, it is actually moved in the DOM tree. In your case, on first page load, the dock is child to the AjaxPanel, and if you show it and then drag it, you are actually dragging it out from the AjaxPanel. On the next Ajax request of the same AjaxPanel, the panel will be updated and it will try to recreate the same dock, since the dock is missing (it is moved outside). This means the same dock will appear twice, and two client objects will be created for the same control, which on the other hand results in a JS error.
To avoid such problems, you should ajaxify the RadDock controls in the following ways:
- Place the dock in a docking zone, and place the zone in an ajax panel. Make sure when ajax requests occur, the dock is always in the zone. The best way to ensure this is by making the dock always docked to a zone, i.e. DockMode="Docked".
- Ajaxify the dock's content, i.e. the dock itself is not necessarily residing in AjaxPanel, but the dock's content is placed inside an AjaxPanel.
the Telerik team