标签:
在项目开发中,有时应用程序希望能够根据特定的情形来动态地设置母版页。需要动态加载母版页的情形有两种:允许用户使用不同的母版页定制外观呈现;当与其他公司合作,需要调整页面与合作伙伴相同的外观。
开发人员可以通过Page类提供的MasterPageFile属性来为内容页设置母版页。母版页与内容页在页声明周期的早期进行合并。因此不能直接在内容页的Page_Load事件中设置母版页。而需要在Page.PreInit事件中动态加载母版页(Page.PreInit是页执行周期中的第一个事件)。
【示例】下面演示如何动态加载母版页。
(1)创建一个网站,命名为“动态加载母版页”。
(2)在该网站中添加一个样式表文件StyleSheet.css,该文件具体代码如下:
(3)创建三个母版页,分别命名为“MasterPage.master”、“MasterPage2.master”和“MasterPage3.master”。母版页MasterPage.master的代码如下:
母版页MasterPage2.master和MasterPage3.master与MasterPage.master相似。不同之处是在“你好,欢迎光临!”文本后面分别添加了“(母版页2)”和“(母版页3)”。
(4)添加一个内容页,命名为“Default.aspx”。该内容页应用的是母版页MasterPage.master。在该内容页的右侧的Content中添加两个超链接,根据查询字符串的值分别指定两个不同的母版页。Default.aspx的内容如下:
在内容页的Page_PreInit事件中添加如下代码,来获取用户所选择的母版页并动态地进行切换。具体代码如下:
运行结果如图1、2、3所示。
图1 运行结果图 图2 运行结果图 图3 运行结果图
在该示例中,在内容页的Page_PreInit事件中为Page类的MasterPageFile属性赋一个母版页文件。在运行时可以根据用户的选择进行动态的切换母版页。
【转载】http://rzchina.blog.163.com/blog/static/181105197201321393214665/
标签:
原文地址:http://www.cnblogs.com/julin-peng/p/4569270.html