I am working on converting a portion of an Asp website to Asp.Net 1.1 and needed a way to keep the look and feel of the site consistent. If I were using Asp.Net 2.0 I would use the built-in master page solution, but no such luck. What do you do when you need something, open up Google and start searching. It did not take long to have a handful of results for accomplishing the same task in Asp.Net 1.1.

I had not thought about it but I have been doing something similar in ASP for years. I create methods to generate the header, sidebar and footer code and use those calls in each page to actually generate the page. This allows for a much cleaner file so you can work with just the content for the page. I have also created a custom template engine so that site users can create custom letters and reports by using preset placeholders for information grabbed from the database.

Got off subject there, so back to what we were doing. I decided to go with the master page solution from Evolve Software Technologies. I am not going to go into the specifics of setting up the code but it works well and takes very little time. If you need to use master pages and you are not using Asp.Net 2.0 check it out.

If you are still working with Asp.Net 1.1 and need an easy way to get a consistent feel to your site check out the Evolve Master Page solution Here.

Update: I did find one issue and thought I might put the solution here on the chance that someone else runs into the same problem. Sometimes the line to initialize the region property does not get added by the designer. This causes the container to not be displayed in the correct region. There might be another fix but you can manually add the line for the container to the InitializeComponent method in the code behind file.

this.regionProvider1.PropertySets.Add(new Evolve.Portals.Framework.RegionPropertySet(this.MainContent, Evolve.Portals.Framework.PortalRegion.Content, 0));

For me this seems to work and I can go on with the more important things.