Rank: Newbie Groups: Member
Joined: 3/10/2009 Posts: 8
|
We recently bought your Web Controls Suite and I have a few questions. I am using the new build you built for us with the Red Tabs 2 methodology, I am also using master pages and have built the menu as a user control. We are using the Red Tab 2 sample because we want the submenu bar (not the items) to always stay visible so the submenu bar does not keep hiding and displaying to avoid the annoying flashing back and forth of the bar on the screen. With this said I have a couple questions in regards to efficiency. Since it's only the bar we want to stay visible at all times not the submenu items and since the Red Tab 2 sample uses seperate top level menus in place of just submenu items on the tab menu that get hidden or displayed through javascript could I and would I be better off doing something were I I used the regular Red Tab methodolgy but used a transparent background color for the submenu that would just display the text for the items over a already displayed layered div that has it's background color set to the desired color? I ask this because the # of tabs and their content is somewhat dynamic based upon the user logged in. So I need to either databind the menu (or menus if I use the Red Tab 2 sample ) or I need to manually add the items to the in the codebehind.
Below are my questions:
1.How do I get the appropriate menu tab to stay selected after a user clicks on a tab and is redirected to a new page? I set SaveStateCrossPages="True" but that alone desn't work I assume there is specific code I need to add in the codebehind but I could not find a sample on your site.
2. Would it be more efficient to do something more like the normal Red Tab sample but with a transparent Background color instead of having multiple menus in divs that get hidden and displayed through javascript.
3. If I need to use the Red Tab 2 methodology and since the Tabs that a use sees is dynamic should I try to do something that databinds all the seperate menus or should I just add the menu items manually in the codebehind.
Sorry for the long post but I wanted to try and convey exactly what I am trying to do to avoid any confusion.
Thanks in advance Mark
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,194
|
Hi,
My understanding is that you needed the bars to stay there when user hovers or clicks mouse elsewhere. This means both the background color and the text has to stay. A layered DIV can easily simulate the background, but I do not see an easy way to simulate the text because the text needs to respond to mouse movement to highlight individual items --- which is primarily what our menu does. This leads to the conclusion that the bars have to be a part of the menu.
As for your questions:
1. SaveStateCrossPages works on a single menu only. It won't work across multiple menus. In your case, you can write a small JavaScript segment inside your master page to try to match the current page Url with your menu item's NavigateUrl. Once a match is found, you can select the corresponding menu item/sub menu items with code;
2. Due to reasons stated above, I do not think this is a feasible approach;
3. This is very much a personal preference. There is no significant difference between data binding and adding menu items manually. They both add menu items, except for data binding reads from your data source;
Hope this helps.
Thanks!
|
Rank: Newbie Groups: Member
Joined: 3/10/2009 Posts: 8
|
ok, thanks for all the info.
Only question is can't I set the appropriate tab to selected in the codebehind of my Menu User ontrol? What does the SaveStateCrossPages="True" property do if you can't retrieve the the value of the selected menu item on the target page? Doesn't that send the selected menu item value to the target page somehow? I will do it in javascript if I need to but what does the SaveStateCrossPages="True"do then?
Mark
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,194
|
Yes. You can do that either on the server side or on the client side: http://doc.essentialobjects.com/library/1/eo.web.navigationitem.selected.aspxhttp://doc.essentialobjects.com/library/1/jsdoc.public.navigationitem.setselected.aspxhttp://doc.essentialobjects.com/library/1/jsdoc.public.navigationitem.getselected.aspxI believe SaveStateCrossPages uses the client side interface to collect the Selected status on the old page, then uses the server side interface to restore the Selected status when the new page loads. Thanks
|