Ok, I have a custom ASP.NET control that acts as a MenuBar. This control has a collection property called MenuBarItems. This collection contains essentially a collection of buttons that will be displayed on the MenuBar. Each MenuBarItem has a collection of cascading menu items. The idea is to create a recursive markup hierarchy that represents an infinite level of recursive cascading menu items. Here is an example of the markup.
<mycontrols:MenuBar ID="MenuBar1" runat="server">
<Items>
<mycontrols:MenuBarItem>
<CascadingMenu>
<mycontrols:CascadingMenuItem TextValue="asdg" Type="SubMenu">
<Items>
<mycontrols:CascadingMenuItem TextValue="asdgasdg">
<Items>
....etc.....
</Items>
</mycontrols:CascadingMenuItem>
</Items>
</mycontrols:CascadingMenuItem>
</CascadingMenu>
</mycontrols:MenuBarItem>
</Items>
</mycontrols:MenuBar>
My problem is that in design mode, when adding these collection items with the collection editor, the first recursion does not save the markup. So when I add a collection item under the deepest tag in my example, the markup is not saved. A caveat...this ONLY happens when the controls already exist. If I add a new menubar and then add all of my items the first time, the entire hierarchy is saved correctly. Essentially, this only happens when I've added a couple of levels, save them all, and go back to add more.
Now I know there's a hotfix that fixed an issue where changing/adding a collection item inside a container control such as a Panel, etc, would not save the markup correctly, but unfortunately the hotfix didn't fix my particular issue.