你可以把主题应用到页面、网站、等等所有。除非你在单独的页面中重载了主题,网站级别的主题设定会把样式和皮肤应用到网站中的所有页面和控件。而页面级别的主题设定会把样式和皮肤应用到当前页面和所有子控件。
默认时,主题会重载局部控件中的设定。另外,你还可以把主题当作样式表单主题来设置,所以这种类型的主题仅能够应用到没有被明确设置的控件设定。
如何把主题应用到网站
-
在应用程序的 Web.config 文件中,设置
<pages>
元素的主题名称,全局主题或者页面主题都可以,如下实例:<configuration> <system.web> <pages theme="ThemeName" /> </system.web> </configuration>
提示:如果应用程序主题的名称与全局应用程序主题的名称相同,那么将优先于应用页面主题。
-
要把主题设置成样式表单主题并置于局部控件的设定之后,请设置
StyleSheetTheme
参数作为替代:<configuration> <system.web> <pages StyleSheetTheme="Themename" /> </system.web> </configuration>
Web.config 文件中的主题设定会应用到应用程序中的所有 ASP.NET 页面。Web.config 文件中的主题设定符合正常的配置层次习惯。例如,要把主题只应用到一个页面子集,你可以把页面和它们的 Web.config 文件一起保存到相同的目录中,或者在 Web.config 根文件中创建一个 <location>
元素来指定相应的目录。更多详细内容,请参考“特定文件和子目录的配置”。
如何把主题应用到单独的页面
-
把
@ Page
指令的Theme
或StyleSheetTheme
参数设置成要使用的主题名称,如下实例:<%@ Page Theme="ThemeName" %> <%@ Page StyleSheetTheme="ThemeName" %>
现在,主题和相应的样式和皮肤只能够被应用到定义了上述参数的页面。
把皮肤应用到控件
被应用了主题的应用程序或页面会把定义在主题中的皮肤应用到所有的控件实例。在有些情况下,你可能需要应用一个特定的属性集到某个单独的控件。要这样做,你应该先创建一个指定的皮肤(.skin 文件中设置了 SkinID
参数的项),然后通过 ID
属性把它应用到单独的控件。关于创建指定的皮肤的详细内容,请参考“ASP.NET 实践:定义 ASP.NET 主题”。
如何把指定的皮肤应用到控件
-
设置控件的
SkinID
属性,如下实例:<asp:Calendar runat="server" ID="DatePicker" SkinID="SmallCalendar" />
如果页面主题中没有包括与
SkinID
属性相匹配的控件皮肤,控件就会使用为该类型控件所定义的默认皮肤。