Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / May 2008

Tip: Looking for answers? Try searching our database.

2 Questions about using AJAX with Master Page

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Dani - 25 May 2008 16:34 GMT
Hi,

Trying to create a master page that holds a menu, and the menu switches
between pages in the site. 2 problem arrosed:

a. When I navigate from page to page (all AJAX Web Forms, with the Master
pages as their master...) the entire page is refreshed - also the menu which
belongs to the master, how can I fix it - so only the inside content will be
refreshed ?

b. When I try to put an AJAX enabled control that I've created inside one of
the page, I get an error - either I don't have a Script manager (which is
located on the master page btw) or - if I add a script manager - that I have
1 too many...
so - I damned if I do and damned if I don't...

how can I create a control that only updates itself (it's a bunch of
comboboxes depends on each other) and put it in that kind of web page ?

Thanks,

Dani
Mark Rae [MVP] - 25 May 2008 16:47 GMT
> Trying to create a master page that holds a menu, and the menu switches
> between pages in the site. 2 problem arrose:
[quoted text clipped - 5 lines]
> be
> refreshed ?

I'm afraid you've made the "classic" newbie misconception about MasterPages
that they are somehow the ASP.NET equivalent of framesets. They are nothing
at all like framesets. In fact, a MasterPage is nothing more than a special
kind of UserControl. When a content page is requested, it loads its
MasterPage control which it merges with its own markup and creates a single
page. This happens every time. That's how MasterPages work...

> b. When I try to put an AJAX enabled control that I've created inside one
> of
[quoted text clipped - 3 lines]
> 1 too many...
> so - I damned if I do and damned if I don't...

http://aspalliance.com/1285_Tip_and_Tricks_ASPNET_20_AJAX_10_Extensions_and_Mast
er_Pages.5


Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

Dani - 25 May 2008 17:17 GMT
Thanks for the quick reply.
Is there a "Good" way to write a site that uses a master page and doesn't
make the menu reload every time ?
Dani

> > Trying to create a master page that holds a menu, and the menu switches
> > between pages in the site. 2 problem arrose:
[quoted text clipped - 22 lines]
>
> http://aspalliance.com/1285_Tip_and_Tricks_ASPNET_20_AJAX_10_Extensions_and_Mast
er_Pages.5
Mark Rae [MVP] - 25 May 2008 17:29 GMT
[top-posting corrected]

>>> a. When I navigate from page to page (all AJAX Web Forms, with the
>>> Master
[quoted text clipped - 16 lines]
> Is there a "Good" way to write a site that uses a master page and doesn't
> make the menu reload every time ?

I've obviously not explained clearly enough - when I said "That's how
MasterPages work", that's what I meant...

Specifically, a MasterPage is just a UserControl like any other UserControl.
When you add a UserControl to a page, it gets loaded every time the page
loads. That's how UserControls work. A MasterPage is a UserControl, so it
gets loaded every time the page loads. That's how MasterPages work, because
MasterPages are UserControls...

MasterPages are't frames. That's not how MasterPages work...

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

clintonG - 25 May 2008 19:09 GMT
I haven't tried myself but wonder if the update panel can be loaded in the
content page. I presume that would produce desired results. Furthermore,
when the Menu control is in the Master there will likely be some additional
coding required.

Technically speaking, it should also be noted Mark is incorrect because the
MasterPage is --not-- a User Control per se but a unique type which
functions similar to a User Control and then only when the page is compiled.

Most people do not want to explain in detail. Since the typed Master
functions similar to a User Control it has become common to describe it as
such to help people understand that Master Pages do not function like HTML
Framesets.

I would go to http://odetocode.com/ as K. Scott Allen has done a lot of work
describing MasterPages but that was before AJAX so I don't know if he's done
anything in the context of using AJAX. Going to the forums at
http://asp.net/ would be helpful too.

> [top-posting corrected]
>
[quoted text clipped - 29 lines]
>
> MasterPages are't frames. That's not how MasterPages work...
Mark Rae [MVP] - 25 May 2008 23:09 GMT
> Technically speaking, it should also be noted Mark is incorrect because
> the MasterPage is --not-- a User Control per se but a unique type which
> functions similar to a User Control and then only when the page is
> compiled.

A MasterPage absolutely is a UserControl.

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

clintonG - 26 May 2008 14:32 GMT
So you should have no problem at all providing a URL from MSDN2 that
definitively and without question documents the typed Master as a User
Control.

<%= Clinton Gallagher

>> Technically speaking, it should also be noted Mark is incorrect because
>> the MasterPage is --not-- a User Control per se but a unique type which
>> functions similar to a User Control and then only when the page is
>> compiled.
>
> A MasterPage absolutely is a UserControl.
Juan T. Llibre - 26 May 2008 14:48 GMT
re:
!> So you should have no problem at all providing a URL from MSDN2 that
!> definitively and without question documents the typed Master as a User Control.

clintonG :

Here's 3 URLs which list MasterPage Properties, Members and Methods :

http://msdn.microsoft.com/en-us/library/system.web.ui.masterpage_properties.aspx
http://msdn.microsoft.com/en-us/library/system.web.ui.masterpage_members.aspx
http://msdn.microsoft.com/en-us/library/system.web.ui.masterpage_methods.aspx

Notice that every single Property, Member and Method used/owned by
a MasterPage inherits from either Control, UserControl or TemplateControl.

Since the UserControl, Page and MasterPage classes all are subclasses of System.Web.UI.

See :
http://quickstarts.asp.net/QuickStartv20/util/classbrowser.aspx?namespace=System
.Web.UI


When an HTTP request is made for a page at run time, the master page and content
pages are combined into a single class with the same name as the content pages.

The *resulting* compiled, merged class derives from the Page class.

The MasterPage class derives (inherits, actually) from Control,
and is last in a chain which includes Control, TemplateControl and UserControl:

Here's the inheritance hierarchy for the MasterPage class :

System..::.Object
 System.Web.UI..::.Control
   System.Web.UI..::.TemplateControl
     System.Web.UI..::.UserControl
       System.Web.UI..::.MasterPage

The master page is initialized as the top control in a page's control hierarchy by
clearing the page's Controls array and adding the master page to the Control collection.

MasterPage inherits from UserControl...so it's a form of UserControl.
If it looks like a duck and quacks like a duck and inherits from a duck...it's a duck.

Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
> So you should have no problem at all providing a URL from MSDN2 that definitively and without question documents the
> typed Master as a User Control.
[quoted text clipped - 5 lines]
>>
>> A MasterPage absolutely is a UserControl.
Microsoft Victim - 26 May 2008 21:59 GMT
You say that all so well but tell me then please; does MasterPage
inherit --from-- User Control as you said or --through-- User Control, and
if strictly from User Control as you imply why then is the MasterPage not
injected --into-- the control tree the way a User Control is but the
compiler "redims" the control tree so it can wrap the MasterPage around it?

Can you quack that?

> re:
> !> So you should have no problem at all providing a URL from MSDN2 that
[quoted text clipped - 62 lines]
>>>
>>> A MasterPage absolutely is a UserControl.
Juan T. Llibre - 27 May 2008 02:41 GMT
re:
!> You say that all so well but tell me then please; does MasterPage
!> inherit --from-- User Control as you said or --through-- User Control

*From* UserControl.

re:
!> why then is the MasterPage not injected --into-- the control tree the way a User Control
!> is but the compiler "redims" the control tree so it can wrap the MasterPage around it?

This was already explained by :
!>> The master page is initialized as the top control in a page's control hierarchy by
!>> clearing the page's Controls array and adding the master page to the Control collection.

After that occurs, the MasterPage becomes the top control.

A MasterPage is a template and merging container UserControl which can host other controls.

It inherits directly from UserControl, which in turn inherits from TemplateControl.

In order for a MasterPage to be able to host *all* the other controls a user might
add, as the page's control container, it must be the top control in the page.

Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
> You say that all so well but tell me then please; does MasterPage inherit --from-- User Control as you said
> or --through-- User Control, and if strictly from User Control as you imply why then is the MasterPage not
[quoted text clipped - 58 lines]
>>>>
>>>> A MasterPage absolutely is a UserControl.
Mark Rae [MVP] - 26 May 2008 15:09 GMT
[top-posting corrected]

>>> Technically speaking, it should also be noted Mark is incorrect because
>>> the MasterPage is --not-- a User Control per se but a unique type which
[quoted text clipped - 6 lines]
> definitively and without question documents the typed Master as a User
> Control.

No problem whatsoever:
http://msdn.microsoft.com/en-us/library/system.web.ui.masterpage.aspx

Note specifically:

Public Class MasterPage Inherits UserControl

public class MasterPage : UserControl

public ref class MasterPage : public UserControl

public class MasterPage extends UserControl

The directives that are valid on a master page are the same as those that
are available on a UserControl object.

Inheritance Hierarchy
System..::.Object
 System.Web.UI..::.Control
   System.Web.UI..::.TemplateControl
     System.Web.UI..::.UserControl
       System.Web.UI..::.MasterPage

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

clintonG - 26 May 2008 15:07 GMT
Dani you need to scroll down to 5/20 and get into the discussion: Do you
prefer Master Page or User Controls?

Mark --and others-- usually cite this document [1] but if you went to school
and learned to read like I did nowhere does the documentation definitively
state the Master --IS A-- User Control but MSDN documentation does --imply--  
the Master is --LIKE A-- User Control because it supports the same
directives are inherited so to speak. Furthermore, it may be a stretch to
say the Master is --A TYPE OF-- User Control as usually stated but again,
the documentation does not say this. It is all implied leaving the matter up
for speculation.

Now speaking of "inheritance" get this...

The User Control can also be understood as a Mulatto Control: like being
born when one parent is a Negro and the other Caucasian then what race are
you?
I'll actually use this analogy but prefer a "safer" analogy which really
puts the matter of implication into perspective in the 5/20 discussion so
don't miss it, the fur may start to fly ;-)

<%= Clinton Gallagher

[1] http://msdn.microsoft.com/en-us/library/system.web.ui.masterpage.aspx
[2] http://en.wikipedia.org/wiki/Mulatto

> Thanks for the quick reply.
> Is there a "Good" way to write a site that uses a master page and doesn't
[quoted text clipped - 35 lines]
>>
>> http://aspalliance.com/1285_Tip_and_Tricks_ASPNET_20_AJAX_10_Extensions_and_Mast
er_Pages.5

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.