15.5 理解Page和Master页面的EnableTheming属性

我们知道,页面的Page指令里有一个EnableTheming属性,而母版页的Master指令中也有一个EnableTheming属性。在ASP.NET Web应用程序中,如果页面的Page指令和母版页的Master指令都包含EnableTheming属性,会得到什么样的结果呢?

现在假定在ASP.NET Web应用程序的Web.config文件中定义了一个主题,而在母版页的Master指令中用EnableTheming属性指定禁用的主题特性,如下所示:


<%@Master Language="C#"AutoEventWireup="true"

CodeBehind="Site1.master.cs"Inherits="_15_4.Site1"

EnableTheming="false"%>


这时,使用该母版页面Site1.Master的内容页面会有什么结果?

如果内容页面没有在Page指令里指定主题属性,即没有使用EnableTheming属性,就采用母版页面Site1.Master上指定的设置,不应用主题。即使在内容页面里的Page指令里设置了EnableTheming属性,也优先采用母版页面Site1.Master上指定的EnableTheming属性。也就是说,如果EnableTheming属性在母版页面Site1.Master上设置为false,而在内容页面上设置为true,则页面使用母版页面Site1.Master提供的值来构建。但是,如果EnableTheming属性在母版页面Site1.Master上设置为false,则可以在控件上重写这个设置,而不是在内容页面的Page指令上设置。