首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

正题

2013-01-05 
主题使用主题的一般步骤如下:步骤1:定义一个或多个主题。在App_Themes文件夹下创建一个或多个主题,然后将主

主题

使用主题的一般步骤如下:
步骤1:定义一个或多个主题。在App_Themes文件夹下创建一个或多个主题,然后将主题包含的文件(包括.css文件、.skin文件、图片文件、Flash动画文件及其他资源文件等)保存到相应主题文件夹下。
步骤2:将主题应用到网页中,用以控制页面和控件外观。

创建完主题后,既可以在Web站点中局部应用,也可以全局应用。

(1)主题的局部应用
局部应用是指将主题应用于一张页面上,通过在Page指令中添加Theme属性实现,代码如下:
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default"  Theme="Theme1"%>
也可以在属性窗口中通过可视化的方式指定主题,如图所示,效果是一样的。

除了可以将主题应用在一张页面之外,也可以将主题应用在某一个单一的服务器控件上,具体做法与设置页面主题相似,即通过设置Theme属性来实现。
应用一个主题到页面上时,ASP.NET会检查Web页面上控件的属性与主题中外观文件中定义的属性是否冲突。如果有冲突,将以外观文件中定义的属性为准。也就是说,如果页面上应用了外观,那么在外观文件中定义的属性将具有优先权。

当需要让控件的属性设置不被外观文件中的设置覆盖。此时可以使用StyleSheetTheme属性来代替Theme属性,那么在页面中所有控件自定义的属性将不会再被外观文件覆盖。
为页面添加样式表主题的示例代码如下所示。
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default"  StyleSheetTheme="Theme2"%>
如果页面内同时定义StyleSheetTheme和Theme属性指定主题,那么优先级是Theme >> 内容页内定义的属性 >> StyleSheetTheme。

(2)主题的全局应用
全局应用是指将主题应用于整个站点,一般是通过配置文件实现的。在网站根目录下的web.config文件中为站点设置主题的部分代码如下:
  <system.web>
   <pages theme="Theme3" />
  </system.web>
当配置了全局主题后,所有页面将具有相同的主题,如果希望某个页面例外,可在该页面中的Page指令里使用EnableTheming属性禁用主题,代码如下:

<%@Page  Language="C#"  AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default"  EnableTheming="false"%>

外观文件专门用于定义服务器控件的外观。在一个主题中可以包含一个或多个外观文件,其扩展名为.skin。

主题中也可以添加CSS样式文件来控制页面中的HTML元素和Web服务器控件的外观,主题中的CSS样式将被应用到所有应用了主题的页面上。

在ASP.NET中可以让用户动态地选择主题,以达到换肤的效果。
对于一个Web页面来说,只需要在PreInit事件中动态地指定Theme属性即可,示例代码如下:
protected void Page_PreInit(object sender, EventArgs e)
{
 Theme= "Theme1";
}
这种方式适合于为单一页面动态应用主题,如果想要在整个网站范围内动态应用主题可以通过修改web.config文件来实现。


 

热点排行