Introduction
In
Part 1 of this article, we have discussed how to load Master Pages
Dynamically for one content page but in this part we will discuss how to load
for multiple content pages even. Please do read previous part then come to this
otherwise you can't understand completely. The easiest way to apply the same
logic to multiple content pages is to create a new base
Page
class. The example given below contains a new Base
Page
class named
DynamicMasterPage.
Now we have to add the file given below in our application's App_Code folder. If
you create class file at very first time then it will prompt you to create
App_Code Folder to place that class file.
DynamicMasterPage.vb Class File Code
Imports
Microsoft.VisualBasic
Public
Class
DynamicMasterPage
Inherits
Page
Protected Overrides
Sub OnPreInit(ByVal
e As
EventArgs)
Me.MasterPageFile =
CType(Context.Profile("MasterPageFile"),
String)
MyBase.OnPreInit(e)
End
Sub
End
Class
Web.config File
Code
<?xml
version="1.0"?>
<configuration>
<system.web>
<compilation
debug="true"
targetFramework="4.0"/>
</system.web>
<system.web>
<pages
pageBaseType="DynamicMasterPage"
/>
<profile>
<properties>
<add
name="MasterPageFile"
defaultValue="DynamicMaster1.master"
/>
</properties>
</profile>
</system.web>
</configuration>
If you register the
DynamicMasterPage
class as the base
Page
class, every page in our application automatically inherits from the new base
class. Every page inherits the new
OnPreInit()
method and every page loads a Master Page dynamically. This is pretty cool and
used on maximum websites today.
Note:
This is last part of this article series.
HAVE A GREAT
CODING!