First of all let me introduce myself. My name is Rosen Konstantinov and I’m a developer at one of Telerik’s ASP.NET teams.
A few days ago, while working on updating our Prometheus RadAjaxManager’s design-time property builder for Microsoft’s VS2008, I came across something strange. Some of you know that RadAjaxManager’s property builder lets you choose which of the control(s) on the design surface should be updated during an AJAX call. This is done by iterating over the controls collection and populating two TreeView controls.
Properties Builder in VS2008
However, if placed inside the MasterPage’s ContentPlaceHolder, controls are not visible in the property builder in VS 2008 but work as expected in VS2005. Here is what most of you are probably thinking “Strange, if you are only iterating over the controls collection why is there any difference? “ I was thinking the same. I sat with the trusty debugger to see what has gone wrong. And only in a few minutes the problem was found. While investigating the controls collection I have noticed that instead of being children of the ContentPlaceHolder control, where I have actually added them, my controls were gone. Actually, they were “re-parented” as children of some “ghost” control. But the stranger thing was that all sub controls that were children of all page’s ContentPlaceHolders were added under this “ghost” controls. And unfortunately, there is no way to find out which control is from where.
The buttons are not in ContentPlaceHolder's controls collection
The buttons controls are "re-parented" to the "ghost" control
We will contact the guys at Microsoft and look for some workaround or fix for the problem. Stay tuned for more details. In the mean time, please add the controls to the AjaxSettings from the source view of VS 2008 by using intellisense or an already set AjaxSetting and just change the initiator and updated controls in it.