Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 Development Tools
 Other Development Tools
 Wanted: Menu system - dead or alive

Author  Topic 

SamC
White Water Yakist

3467 Posts

Posted - 2004-07-27 : 07:01:57
I'm rewriting a website navigation system and need a horizontal drop-down (ASP/ JavaScript based) menu component that will dynamically build each user's menu. An SQL query will return the user's menu list in a recordset. I need an ASP component that will build the menu list based on the return recordset.

This is about controlling access to certain reports. There will be a form page where administrators can assign the menus each user will see in each menu drop-down.

Does anyone know a good off-the-shelf menu product out there that has similar characteristics?

Thanks,

Sam

Merkin
Funky Drop Bear Fearing SQL Dude!

4970 Posts

Posted - 2004-07-27 : 07:24:51
I don't know anything off the shelf, but you can probably use something from www.dynamicdrive.com and asp-ify it.



Damian
Go to Top of Page

Kristen
Test

22859 Posts

Posted - 2004-07-27 : 14:16:03
We built our own (although we don't do drop-down, because it tends to look messy as the user passes their mouse over it, rather than onto it).

Basically we return a conventional recordset and use CSS to apply the look & feel. So if the client wants buttons we use CSS buttons; if they want tabs we use CSS for background images for the left/right edges of the TAB, and the background colour for the ON and OFF tabs.

Some of this information is in the recordset as "hints" to the ASP as to what to do - for example, which Tab/Button is "on" and which is "off".

So the ASP stuff just makes a <TABLE> with the appropriate CSS.

So if we add another "page" into the database the menus automatically incorporate it.

We then cache the result - so the whole <TABLE>...</TABLE> is cached with the User Role the user has assigned (some ASP security stuff we built to group user logons into Roles - but the User Logon ID would do), and the SProc that returns the menu stuff just does a
SELECT * FROM CacheTable WHERE UsreRole = 'FOO'
and if it gets 0 rows then it goes on to do the real query (and ASP then does the formatting and INSERT into the CacheTable).

We do have to delete the CacheTable whenever we change the menus, but we figure that even if storing in the cache is a per-user deal the need to put the menu on loads of pages benefits from caching.

But with a per-user caching basis you'd need some sort of scheduled clear-down routine.

Perhaps I should write a blog article ...

Kristen
Go to Top of Page

timmy
Master Smack Fu Yak Hacker

1242 Posts

Posted - 2004-07-27 : 19:24:04
Sam,

Some time ago I used this menu on an intranet with a good deal of success:

http://www.dynamicdrive.com/dynamicindex1/topnavbar.htm

And it can be easily customised given a bit of ASP flair....

Tim
Go to Top of Page

Seventhnight
Master Smack Fu Yak Hacker

2878 Posts

Posted - 2004-07-27 : 23:49:22
I always liked quark's menu... I asp-ified it one time... I could find it if you want...

Corey
Go to Top of Page

JeffHurley
Starting Member

3 Posts

Posted - 2004-07-28 : 03:10:12
I used the CoolMenus from [url]www.dhtmlcentral.com[/url]. I modified their example for a database driven one. I have implemented it on several websites including [url]www.dandmequilts.com[/url], and [url]www.englishthrough.com[/url]. The menus are easy to configure and customize.

Thank You
Jeff Hurley
Go to Top of Page

SamC
White Water Yakist

3467 Posts

Posted - 2004-07-28 : 09:34:16
Thank you everyone. I've got a lot to choose from.

The dynamic drive site is very cool, and has a lot of interesting material to choose from. However, my personal preference would be to find a solution that doesn't rely on JavaScript. I figure if I'm doing server-side ASP for all the forms, I may as well do ASP menus. It's one less new environment for me to debug.

Quark's menu seems to be completely server side.

There's a lot out there about building menu lists using nested HTML <LI> lists, and styling with CSS accordingly for hover effects and drop-down too. I'm reading up on that and plotting a possible build it myself strategy.

Designing the data structure and that of the returned recordset is surprisingly not-obvious. I've had to return a lot more data than expected...

MenuLevel, MenuOrder, MenuText, MenuURL, MenuTitle, MAXMenuOrder

Where Level is 1 for base menu items, 2 for a drop-down off of 1, etc. Order provides sequencing so the order does not need to be alphabetic. Title is optional for Title="" text in the link. MAXMenuOrder provides "this row" information so we know we're at the end of htis Level...

I'd like to see another solution to this if anyone has one to share openly. It may save me from hitting an unexpected wall.

Sam
Go to Top of Page

joldham
Wiseass Yak Posting Master

300 Posts

Posted - 2004-07-29 : 22:16:47
Sam,

I haven't checked, but www.solpart.com has an ASP.net menu if you need it. I know you said ASP and I am not sure if the Solpart menu would work in ASP, but it is worth a look.

Jeremy W. Oldham
Go to Top of Page

ValterBorges
Master Smack Fu Yak Hacker

1429 Posts

Posted - 2004-07-29 : 23:04:37
www.infragistics.com

Go to Top of Page

SamC
White Water Yakist

3467 Posts

Posted - 2004-07-30 : 14:23:17
Infragistics does seem to have a wow factor to it.

Check the tab looks

http://www.infragistics.com/products/lookandfeel.asp?sec=0&cat=-1

Go to Top of Page

ehorn
Master Smack Fu Yak Hacker

1632 Posts

Posted - 2004-07-30 : 14:33:29
quote:
Originally posted by joldham

I haven't checked, but www.solpart.com has an ASP.net menu if you need it. I know you said ASP and I am not sure if the Solpart menu would work in ASP, but it is worth a look.



Component Art makes some nice .NET controls too:

http://www.componentart.com/aspnetmenu/default.aspx

Sam,

Are you thinking of migrating to .NET any time soon??
Go to Top of Page

SamC
White Water Yakist

3467 Posts

Posted - 2004-07-30 : 14:45:07
Ahh Grasshopper ;-)

I'm in the tarpit of ASP here but the call of the .NET Sirens are tempting: Sam! Leave ASP behind! Come and experience the depth and breth of .NET!

I'd like to have a .NET shell/ template to wrap several reports based on SQL Reporting Services and a few custom .NET forms. It'd take about 2 months to rewrite I 'spect, but my job keeps getting in the way.
Go to Top of Page

ehorn
Master Smack Fu Yak Hacker

1632 Posts

Posted - 2004-07-30 : 15:02:05
quote:
Originally posted by SamC

... but my job keeps getting in the way.

I hear you!

A much easier proposition when developing new systems.

We had an opportunity with some new systems and all that did was spoil us. The learning curve is not great for an ASP programmer w/OOAD experience. Spent a few weeks living over at http://www.ASP.NET , which is a great resource.

If/when you can, listen to those ".NET Sirens" :)
Go to Top of Page
   

- Advertisement -