views:

45

answers:

0

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.