一、 主题介绍
1、 外观:用于定义页面中服务器控件的外观。控件外观的设置于控件声明代码类似。
2、 CSS样式表。
3、 图像和其他资源。(JS、视频等文件)
注意:Web应用程序中,主题文件必须存储在根目录的App_Themes文件夹下(除全局主题之外)。App_Themes文件中,可以有多个主题文件夹,如:主题1、主题2、主题3等,每个主题文件夹中可以有CSS、JS、Images等文件。App_Themes中只存储主题及与主题相关的文件。
二、 建立主题的方法
1、 外观文件
(1) 介绍:外观文件分为默认外观和命名外观,默认外观是指没有设置SkinID属性的控件所应用的外观,而命名外观是指指定了SkinId属性的控件所引用的外观文件。(主要是为了对相同的控件设置不同的外观而设置的)
(2) 三种常见的外观文件的组织方式及其说明
a、 根据SkiID,在对控件外观设置时,将具有相同的skinID放在同一个外观文件中,这种方式适用于网站页面较多,设置内容较复杂的情况。
b、 根据控件类型,组织外观文件时,以控件类型进行分类,这种方式适用于页面中包含控件较少的情况。
c、 组织外观文件时,以网站中的页面进行分类,这种方式适用于网站中页面较少的情况。
第一步:在网站根目录下建立文件夹App_Themes用于存储主题。
第二步:右击App_Themes文件夹,选择添加ASP.NET文件夹/主题,然后给该文件夹取名。然后右击该文件夹,选择添加新项,选择外观文件。
第三步:在该外观文件夹中,填写外观代码。
第四步:需要在应用该外观的页面的<%@Page%>标签中设置一个Theme属性来应用主题。
注意:
(1) 创建空间外观是,一个简单方法是:将控件添加到.aspx页面中,然后利用VS2008的属性窗口及可视化设计功能对控件进行设置,最后在将控件代码复制到外观文件中并做适当修改。(需要将控件的ID属性删除)
(2) 任何控件的ID属性都不可以在外观文件中出现。如果向外观文件中添加了不能设置主题的属性,将会导致错误发生。
2、 样式文件
和外观文件基本相同,不同的是选择添加新项,选择样式表。
三、 如何将主题应用于母版页中
1、 如果直接在母版页中添加主题属性,会引发一个错误。
2、 如果主题是在内容页中定义的,母版页在内容的上下文中解析,因此内容页的主题也会用于母版页。
3、 如果通过在Pages元素(ASP.NET设置架构)中包含主题定义来将整个站定配置为使用主题。
四、 指定和禁用主题
1、 为单个页面指定和禁用主题
将Theme或者StyleSheetTheme属性添加到页面的<%@Page%>标签中。
Theme和StyleSheetTheme的区别是:
Theme会覆盖掉预先设置的控件的属性,而StyleSheetTheme不会。
2、 为应用程序指定和禁用主题
如果想让网站中的所有页面都设置相同主题,可以设置Web.config文件中的<pages>配置节的内容。Web.config文件中的配置代码如下:
<configuration>
<system.web>
<pages theme=”ThemeName”></pages> //或者将theme换为StyleSheetTheme
</system.web>
</configuration>