博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ASP.NET------主题

Posted on 2012-04-19 21:56  乌雲安全  阅读(2381)  评论(0编辑  收藏  举报

一、 主题介绍

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>