This exception is caused by a problem in RadDock - I will try to explain the problem in details:
- The ASP:UpdatePanel control has one significant limitation - it cannot change its parent, e.g. once you add a UpdatePanel to the Controls collection of another control, you cannot remove and add it to another (which appears to be the way RadDock should work).
- To avoid this limitation, RadDock controls do not change their parents when the user changes their positions on the client - they are just rendered by their new dock zones, preventing the original parent or dock zone from rendering them. For example if Dock3 on your page is docked in the left zone, it will remain in the right zone's Controls collection, but it will be rendered by the left zone.
- If a control has its Visible property set to true, the Framework does not rise its PreRender event and does not call its Render method.
- The problem is that RadDock has significant amount of code in its OnPreRender method, which is not called when the control is placed in an invisible parent. In normal circumstances this should not be a problem, but the RadDock is rendered by the dock zone which is now its "virtual" parent, which causes the exception. I was able to workaround the server-side exception, but the client-side scripts depend on the presence of some HTML elements which are created in OnPreRender and now throw errors.
To summarize - RadDock has a problem which prevents it from working in your scenario. I will log it in our bug-tracking database and I will try to fix it for the next update of the control.
Valeri Hristov (Senior Developer, MCSD)
the Telerik team