ASP.NET开发技巧之Theme功能浅析

开发 后端
ASP.NET开发技巧中ASP.NET Theme的使用是很重要的,那么本文就向你介绍相关信息。

ASP.NET开发技巧之Theme功能主要是有什么呢?那么下面我们就来看看:

ASP.NET 2.0 中新增加了 Theme 的功能,它的出现能让网站实现换肤更加容易。

Theme 的实现包括:CSS、Skin、MasterPage。

CSS 是用于控制所有 HTML 标记的外观。

Skin 是用于控制所有 ASP.NET 服务器调整的外观,并且可以通过属性 cssClass 定义它的 CSS 样式。

MasterPage 是 *.aspx 页面模版,不过它没有被定义到 Theme 中。

◆ASP.NET开发技巧之创建ASP.NET 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 文件添加到每一个使用此样式的页面中去。

◆ASP.NET开发技巧之定义页面内容与ASP.NET Theme 样式

1、default.aspx 页面定义如下:

  1. ﹤%@ Page Theme="OrangeTheme" %﹥  
  2. ﹤html﹥  
  3. ﹤head runat="server"﹥  
  4. ﹤title﹥Orange Page﹤/title﹥  
  5. ﹤/head﹥  
  6. ﹤body﹥  
  7. ﹤form id="form1" runat="server"﹥  
  8. Enter your name:﹤br /﹥  
  9. ﹤asp:TextBox ID="txtName" Runat="Server" /﹥  
  10. ﹤br /﹥﹤br /﹥  
  11. ﹤asp:Button ID="btnSubmit" Text="Submit Name" Runat="Server"/﹥  
  12. ﹤/form﹥  
  13. ﹤/body﹥  
  14. ﹤/html﹥ 

2、在  OrangeTheme 主页的 Control.Skin 文件中定义如下:

注意:只能指定外观属性,不能指定如 AutoPastback 等属性。

  1. //默认未命名的 Skin 将会为所有 TextBox 类型定义外观。  
  2.  
  3. ﹤asp:TextBox BackColor="Orange" ForeColor="DarkGreen" Runat="Server" /﹥  
  4.  
  5. ﹤asp:Button BackColor="Orange" ForeColor="DarkGreen" Font-Bold="True" Runat="Server" /﹥  
  6.  
  7. //已经命名 SkinID 的将可以为指定 TextBox 类型定义外观。  
  8.  
  9. ﹤asp:TextBox SkinID="Title" BackColor="Orange" ForeColor="DarkGreen" Runat="Server" /﹥ 

◆ASP.NET开发技巧之在页面中使用ASP.NET Theme

1、在 Aspx 文件顶部 ﹤%@ Page %﹥ 中添加 Theme="Default" 属性。这样它就可以使用 Default 主题了。

2、如果想到在整个网站应用某个 Theme 就需要在 Web.Config 定义。

  1. ﹤configuration﹥  
  2.   ﹤system.web﹥  
  3.     ﹤pages theme="OrangeTheme" /﹥  
  4.   ﹤/system.web﹥  
  5. ﹤/configuration﹥ 

这样的定义相当于默认一个 Theme 在所有网站文件中,使用时仍可以为每个页面定义 Theme 。

Skin 部分会使用 Page 面中定义的 Theme ,而 CSS 会重载默认主页中的 CSS 样式表。

3、指定好 Theme 之后所有的外观都会使用 Skin 中定义的。你也可以指定控件的 SkinID 来定义单独外观。

4、如果想用编程方式定义 Theme 必需在 Page_PreInit事件中处理,如下:

  1. void Page_PreInit(object sender, EventArgs e)  
  2. {  
  3.     Page.Theme = Request["ThemeName"];  
  4.  
  5.   //  如果需要以编程的方式为 Page 载入 MasterPage 文件,也需要在此定义。  
  6.     this.MasterPageFile = Request["MasterPageFile"];  
  7. }  

了解了这些技术,将会让网站更加多变。

ASP.NET开发技巧中ASP.NET Theme的使用基本情况就向你介绍到这里。

【编辑推荐】

  1. ASP.NET代码分离之网站建设应用浅析
  2. ASP.NET代码优化浅析
  3. ASP.NET数据验证控件CustomValidator的使用浅析
  4. ASP.NET网页中的嵌入式代码块应用浅析
  5. ASP.NET中SQL Server数据库备份恢复浅析
责任编辑:仲衡 来源: cnblogs
相关推荐

2009-08-05 18:46:21

ComboBox显示ASP.NET控件开发

2009-08-05 18:32:28

HtmlTextWriASP.NET控件开发

2009-07-29 10:52:09

数据采集程序ASP.NET技巧

2009-07-29 13:42:25

ASP.NET注释

2009-08-10 13:32:15

ASP.NET TimASP.NET组件设计

2009-08-06 15:21:45

ASP.NET控件开发RenderConte

2009-08-03 13:38:18

ASP.NET编程模型

2009-08-10 18:24:29

ASP.NET开发环境

2009-08-07 15:24:16

ASP.NET模板控件

2009-07-30 13:45:40

ASP.NET开发模式MVC模式

2009-07-29 11:33:14

ASP.NET技巧ASP.NET应用程序

2009-08-07 14:05:21

ASP.NET控件

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 18:36:12

ASP.NET Che

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 15:50:13

ASP.NET优点

2009-08-07 15:34:15

ASP.NET数据绑定

2009-08-05 18:17:16

ASP.NET控件开发基类

2009-08-05 17:58:24

UpdatePanel

2009-08-06 09:18:01

ASP.NET自定义控ASP.NET控件开发
点赞
收藏

51CTO技术栈公众号