Home All Groups Group Topic Archive Search About

Newbie - question concerning page behaviour

Author
23 Nov 2005 12:36 PM
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

Author
25 Nov 2005 3:10 PM
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

--------------------------------------------------------------------------------
All that glitters has a high refractive index.
www.mendhak.com


Show quoteHide quote
"Griff" <Howl***@The.Moon> wrote in message
news:On129pC8FHA.3984@TK2MSFTNGP11.phx.gbl...
> 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
>
Author
25 Nov 2005 4:51 PM
Devone
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 . . .



Show quoteHide quote
"S.M. Altaf [MVP]" wrote:

> 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
>
> --------------------------------------------------------------------------------
> All that glitters has a high refractive index.
> www.mendhak.com
>
>
> "Griff" <Howl***@The.Moon> wrote in message
> news:On129pC8FHA.3984@TK2MSFTNGP11.phx.gbl...
> > 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
> >
>
>
>
Author
3 Dec 2005 2:47 PM
S.M. Altaf [MVP]
That sounds very interesting. Thanks for the info, Devone.

-Altaf
--------------------------------------------------------------------------------
All that glitters has a high refractive index.
www.mendhak.com


Show quoteHide quote
"Devone" <Dev***@discussions.microsoft.com> wrote in message
news:28D088E5-0949-4D43-80D6-D442E5818B1B@microsoft.com...
> 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 . . .
>
>
>
> "S.M. Altaf [MVP]" wrote:
>
>> 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
>>
>> --------------------------------------------------------------------------------
>> All that glitters has a high refractive index.
>> www.mendhak.com
>>
>>
>> "Griff" <Howl***@The.Moon> wrote in message
>> news:On129pC8FHA.3984@TK2MSFTNGP11.phx.gbl...
>> > 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
>> >
>>
>>
>>