▲ASP.NET2.0中新增加了Theme...... ASP.NET 2.0 中新增加了 Theme 的功能,它的出现能让网站实现换肤更加容易。 Theme 的实现包括:CSS、Skin、MasterPage。 CSS 是用于控制所有 HTML 标记的外观。 Skin 是用于控制所有 ASP.NET 服务器调整的外观,并且可以通过属性 cssClass 定义它的 CSS 样式。 MasterPage 是 *.aspx 页面模版,不过它没有被定义到 Theme 中。 ------------------------------------------------ ·创建 Theme 的例子: 1、在 Web 项目中创建 App_Themes 目录。它是预定义的目录,ASP.NET 2.0 会自动识别其目录下的 Theme 。 2、在 App_Themes 目录创建 orangeTheme、BlueTheme 两个子目录。 3、为 App_Themes 下的每个子目录添加 Skin 文件,如 Control.Skin 。ASP.NET 2.0 会自动分析每一个 Skin 文件,在这里的命名只需要为了开发时方便分类。 4、也可以为 App_Themes 下的每个子目录添加 CSS 文件。ASP.NET 2.0 也会自动将每一个 CSS 文件添加到每一个使用此样式的页面中去。 ·定义页面内容与 Theme 样式 1、default.aspx 页面定义如下: <%@ Page Theme="OrangeTheme" %> 2、在 OrangeTheme 主页的 Control.Skin 文件中定义如下: 注意:只能指定外观属性,不能指定如 AutoPastback 等属性。 默认未命名的 Skin 将会为所有 TextBox 类型定义外观。 已经命名 SkinID 的将可以为指定 TextBox 类型定义外观。 ·在页面中使用 Theme 1、在 Aspx 文件顶部 <%@ Page %> 中添加 Theme="Default" 属性。这样它就可以使用 Default 主题了。 2、如果想到在整个网站应用某个 Theme 就需要在 Web.Config 定义。 这样的定义相当于默认一个 Theme 在所有网站文件中,使用时仍可以为每个页面定义 Theme 。 Skin 部分会使用 Page 面中定义的 Theme ,而 CSS 会重载默认主页中的 CSS 样式表。 3、指定好 Theme 之后所有的外观都会使用 Skin 中定义的。你也可以指定控件的 SkinID 来定义单独外观。 4、如果想用编程方式定义 Theme 必需在 Page_PreInit事件中处理,如下: void Page_PreInit(object sender, EventArgs e) { Page.Theme = Request["ThemeName"]; 如果需要以编程的方式为 Page 载入 MasterPage 文件,也需要在此定义。 this.MasterPageFile = Request["MasterPageFile"]; } 了解了这些技术,将会让网站更加多变。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 21:32 , Processed in 0.269819 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.