The above walkthrough illustrates the basics of how you can
enable rich site layout and style personalization. It also demonstrates
how you can encapsulate common page functionality within a base class that you
can easily re-use across multiple pages in a site – a very useful approach that
can be used far beyond just personalization.
Click here to
download a complete version of the sample that you can run and examine
Below are also some links/resources I recommend checking out
to learn more about ASP.NET Master Pages, Themes, and Personalization:
2.0 Website Programming : Problem – Design – Solution: This is an
outstanding book by Marco Bellinaso, and uses a great “real world example”
approach to walkthrough how to best take advantage of ASP.NET 2.0 features
(including Master Pages, Themes, Profiles and more).
ASP.NET “How Do I”
Videos: This is a great series of short 10-15 minute videos that you can
watch online to learn ASP.NET concepts. Included are several videos that
show off Master Pages, Themes and Profiles.
Master Page Articles: Two great articles by K. Scott Allen that talk about
both the basics and the advanced scenarios involving ASP.NET 2.0 Master Pages.
ASP.NET Design Template Downloads: Professionally designed site templates
for ASP.NET that are XHTML compliant, and provide re-usable Master Pages and
Themes that you can use in your own projects.
ASP.NET 2.0: A great article by K. Scott Allen about the new ASP.NET 2.0
ProfileView Control: Joshua Flanagan has implemented a cool
control that you can use in ASP.NET to provide an editing view of your profile
personalization data. You can download the control + its source code from
2.0 SQL Table Profile Provider: An alternative Profile Provider
implementation for ASP.NET 2.0 that allows you to save Profile properties in
schematized Tables or SPROCs (rather than the default storage mechanism which
is an XML blob).
2005 Web Application Project Profile Support: Available as a free download,
this utility works with VS 2005 Web Application Projects and enables
strongly-typed Profile objects to be used within them.
Hope this helps,