动态加载母版页
应用场合:
1)通过加载不同的母版页可以让网站用户自定义外观
2)品牌联合 需要自己的网站与合作伙伴的网站外观相同,以使用户从伙伴公司的网站转到自己的网站时,不会感到被链接到了不同的网站,则可通过从伙伴公司的网站传递过来的查询字符串来动态加载不同的母版页。
页面执行的生命周期中,首先进行的就是母版页和内容页的合并。
加载母版页的事件是PreInit
protected void Page_PreInit(object sender,EventArgs e)
{
if(Request["master"]!=null)
{
switch(Request["master"])
{
case "Dynamic1":
Profile.MasterPageFile="Dynamic1.master";
break;
case "Dynamic2":
Profile.MasterPageFile="Dynamic2.master";
break;
}
}
MasterPageFile=Profile.MasterPageFile;
}
Web.Config
<configuration>
<system.web>
<profile>
<add name="MasterPageFile" defaultValue="Dynamic1.master"/>
</profile>
</system.web>
</configuration>
为多个内容页动态加载母版页
public class DynamicMasterPage:Page
{
protected override void OnPreInit(EventArgs e)
{
this.MasterPageFile=(String)Context.Profile["MasterPageFile"];
base.OnPreInit(e);
}
}
在Web配置中注册:
<configuration>
<system.web>
<pages pageBaseType="DynamicMasterPage"/>
<profile>
<add name="MasterPageFile" defaultValue="Dynamic1.master"/>
</profile>
</system.web>
</configuration>
2011-4-28 11:19 danny
应用场合:
1)通过加载不同的母版页可以让网站用户自定义外观
2)品牌联合 需要自己的网站与合作伙伴的网站外观相同,以使用户从伙伴公司的网站转到自己的网站时,不会感到被链接到了不同的网站,则可通过从伙伴公司的网站传递过来的查询字符串来动态加载不同的母版页。
页面执行的生命周期中,首先进行的就是母版页和内容页的合并。
加载母版页的事件是PreInit
protected void Page_PreInit(object sender,EventArgs e)
{
if(Request["master"]!=null)
{
switch(Request["master"])
{
case "Dynamic1":
Profile.MasterPageFile="Dynamic1.master";
break;
case "Dynamic2":
Profile.MasterPageFile="Dynamic2.master";
break;
}
}
MasterPageFile=Profile.MasterPageFile;
}
Web.Config
<configuration>
<system.web>
<profile>
<add name="MasterPageFile" defaultValue="Dynamic1.master"/>
</profile>
</system.web>
</configuration>
为多个内容页动态加载母版页
public class DynamicMasterPage:Page
{
protected override void OnPreInit(EventArgs e)
{
this.MasterPageFile=(String)Context.Profile["MasterPageFile"];
base.OnPreInit(e);
}
}
在Web配置中注册:
<configuration>
<system.web>
<pages pageBaseType="DynamicMasterPage"/>
<profile>
<add name="MasterPageFile" defaultValue="Dynamic1.master"/>
</profile>
</system.web>
</configuration>
2011-4-28 11:19 danny