Newbie - question concerning page behaviour

G

Griff

Not sure that the subject adequately defines my question, but here goes.

I have a CLASSIC asp web site that contains FRAMES. In my left-hand frame I
have a navigational menu. What navigation items are displayed depend upon
the identity of the user using the system (they have to log on first). So,
some users have a reduced functionality set. The navigation takes a wee
while to load, but it only has to load the once because it's in a frame set.
Clicking on menu items loads a completely new page in the right hand part of
the frame - all normal stuff I'm sure.

Some of our customers have UI requirements that mean that we've got the
scrap the frame-set and we're going to re-write the application using ASP
(most likely in VS2005 using ASP2.0).

I like what I've read about master pages (some customers want a left hand
side menu, others want a horizontal menu) and I see that I can create two
master pages to accommodate this.

What I'm not sure about is this:

Having authenticated oneself, a "launch" page will load. This will inherit
the master page and load the relevant menu for that user (after having spent
a little while identifying what menu items they are allowed to see).

From the "launch" page, they click a menu item called "catalogue" and this
loads up "catalogue.aspx" which inherits the same master page. What I'd
really like it to do would be to simply re-display the SAME menu, rather
than re-identify what menu items the user has access to.

Is that possible, or would the navigation menu have to re-populate from
scratch.

Thanks in advance

Griff
 
S

S.M. Altaf [MVP]

Yes it's possible, but the implementation would be quite crude. Why do you
not want to re-identify the user's menu items on each load? I'm sure it's
not that big a database call, and besides, what if the user's userlevel
changes while he's logged on?

One crude implementation I can think of is to load the list of link+URL
values into an arraylist and store that in a session variable so that the
menu control can simply reload from those values instead of calling the
database.

HTH
Altaf
 
G

Guest

Hi,

This scenario sounds like the perfect option to use the new data aware
caching mechanisms built into ASP.Net 2.0 . . . This method allows you to
setup your database so that it triggers the cache control mechanism of
ASP.Net and invalidates the cache when your database tables change (based on
the table(s) you configure the system to watch). With MS SQL 7.0 and 2000,
ASP.Net will poll the database for changes (based on your poll interval) and
with MS SQL 2005, the database will actively alert the cache control
mechanism using HTTP (port 80). It is a great solution for database driven
menuing systems. One more thing, the cache can also be parameter dependent
so it will work based on the logon name/ID, etc. The following links provide
some good detailed info . . .

http://www.15seconds.com/issue/040518.htm

http://www.ondotnet.com/pub/a/dotnet/2005/01/17/sqlcachedependency.html

Hope this helps . . .
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top