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 页面定义如下:
- ﹤%@ Page Theme="OrangeTheme" %﹥
- ﹤html﹥
- ﹤head runat="server"﹥
- ﹤title﹥Orange Page﹤/title﹥
- ﹤/head﹥
- ﹤body﹥
- ﹤form id="form1" runat="server"﹥
- Enter your name:﹤br /﹥
- ﹤asp:TextBox ID="txtName" Runat="Server" /﹥
- ﹤br /﹥﹤br /﹥
- ﹤asp:Button ID="btnSubmit" Text="Submit Name" Runat="Server"/﹥
- ﹤/form﹥
- ﹤/body﹥
- ﹤/html﹥
2、在 OrangeTheme 主页的 Control.Skin 文件中定义如下:
注意:只能指定外观属性,不能指定如 AutoPastback 等属性。
- //默认未命名的 Skin 将会为所有 TextBox 类型定义外观。
- ﹤asp:TextBox BackColor="Orange" ForeColor="DarkGreen" Runat="Server" /﹥
- ﹤asp:Button BackColor="Orange" ForeColor="DarkGreen" Font-Bold="True" Runat="Server" /﹥
- //已经命名 SkinID 的将可以为指定 TextBox 类型定义外观。
- ﹤asp:TextBox SkinID="Title" BackColor
···
···