Your scenario seems to be quite similar to the one, implemented in the online demo My Portal
, so I would recommend it as a reference for achieving the desired functionality. Note, that it also offers dynamical creation of RadDocks, containing different user controls, with option to select the user control and the RadDockZone. Also, saving the state of the dock controls is implemented via a hidden UpdatePanel so that the docking zones aren't updated every time a RadDock is minimized, moved or closed.
The problems that you have described seem to be caused by incorrect saving and loading of the RadDock's state. I will explain the main steps that need to be executed in order to ensure that the layout is preserved:
1. On the
event, the RadDock controls are recreated from the storage medium that you have chosen for saving the dock controls' layout. Please keep in mind that you should always set the same ID
for every RadDock in order to avoid incorrect layout of the controls.
2. On the
event of the RadDockLayout control, the indices and the RadDockZones for every RadDock is restored from the dock state storage.
3. On the SaveDockLayout
event of the RadDockLayout control, its method GetRegisteredDocksState
is used to get the current dock state, which is then saved in the selected storage to be utilized when the page is loaded after a postback.
These steps are incorporated in the demo, linked above, so you can examine their behavior in action.
I hope the provided information will help you resolve your issues.
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed