jpcastillo wrote
Is the dnnMenu different from the DNNMenuNavigationProvider, or not? Doesn't the dnnMenu uses the Menu.ascx and the DNNMenuNavigationProvider uses Nav.ascx. Geez... or I could be wrong. I'm really confused right now on these menu skin objects. Can someone please enlighten me on this.
Which menu should I use to resolve my problem on the submenu border during mouseover?
I tried the dnnMenu, the borders still disappear. I also tried the dnnNav, the borders retain but I can't seem to make the CSSNodeHoverSub & CSSNodeHoverRoot classes to work. Only the CSSNodeHover works but I want to have different looks for my root menu & submenu (idle & mouseover).
Any help would be greatly appreciated.
Thanks,
jared
In relation to the above questions I am going to define the three objects mentioned.
Skin Object: A UserControl (.ascx) that is the responsible for rendering its contents to the page (default.aspx)
WebControl: A UI element that can be added to a skin object. For example, a textbox, label, menu, or treeview.
Provider: The means of abstracting a specific implementation from your code, thus allowing the seamless ability to plug in one or more implementations.
Menu.ascx and Nav.ascx are both Skin Objects.
SolpartMenu, DNNMenu, and DNNTree are all WebControls.
DNNMenuNavigationProvider, SolpartMenuNavigationProvider, DNNTreeNavigationProvider are all providers.
Menu.ascx is the original skin object (from DNN 2.x) responsible for rendering the navigation within DNN. It contains a rather unorganized set of properties to set. Since DNN 3.2 a more organized approach to these properties was added. Thanks to inheritance, these properties are available in both the Menu.ascx and Nav.ascx skin objects. Menu.ascx, however, still supports the old properties, since backwards compatibility is important to us. If you are developing a new skin, you are encouraged to use the new organized properties for your own sake. Therefore, your choice should be to use Nav.ascx. If you are editing an existing skin you are encouraged to migrate some of the old properties to their new ones as you find the time.
The control you use to render is determined by your skin object through the ProviderName property. The properties that each provider supports is outlined in the document I mentioned previously. DNN ships with 4 providers by default, and a fifth one is available for the .NET 2.x implementation. It is the providers that enable the WebControls to be easily substituted out.
Make sense?