ASP.NET 2.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" %>
<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="Orange" ForeColor="DarkGreen" Runat="Server" />

·在页面中使用 Theme

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

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

<configuration>
 <system.web>
  <pages theme="OrangeTheme" />
 </system.web>
</configuration>

这样的定义相当于默认一个 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"];
}

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

时间: 2024-09-15 20:01:33

ASP.NET 2.0的Theme功能的相关文章

ASP.NET 2.0的新功能

ASP.NET 2.0的新功能 ASP.NET 2.0提高ASP.NET通过增加一些新的特点. -------------------------------------------------- ------------------------------ 改进ASP.NET 2.0中 ASP.NET 2.0的目的是使Web开发更容易和更快. 设计目标为ASP.NET 2.0 : 提高生产率,消除70 %的代码 使用相同的控制,所有类型的设备 提供一个更快更好的Web服务器平台 简化汇编和安装

ASP.NET 2.0数据缓存功能简介

asp.net|缓存|数据 在ASP.NET 2.0,新增加了不少新的功能和控件.其中,在数据的缓存功能,比asp.net 1.1有了很大的改变.众所周知,数据的缓存功能是十分重要的,我们可以把一些在相对一段时间内不发生改变的数据放在缓存中,这样,就不必要每次去读取数据库,当下次再需要这些数据时,可以直接从缓存中取得,大大增强了效率. 而在asp.net 1.1 中,已经比较好地实现了数据的缓存功能,但有一个小问题,那就是如果数据库中的数据发生了变化,缓存不能在指定的时间内更新,而必须等到缓存失

ASP.Net 4.0中新增23项功能

这篇文章介绍Visual Studio 2010 (ASP.Net 4.0)的新功能. 1.代码片段(Code Snippets): 代码段是预先开发的代码模板,可以节省我们对有关语法思考的时间.在VS 2005和VS 2008中,已经有建立了很多代码段.不过,这些只适用于隐藏代码 (code behind).在VS 2010中代码片段支持JScript,HTML以及asp.net标记. 在下面画面,展示了JScript和HTML片段的快捷菜单. 在JS中: 在Html中 : 2.New Pro

ASP.NET 4.0 中新增的23项功能

这篇文章介绍Visual Studio 2010 (ASP.NET 4.0)的新功能. 1.代码片段(Code Snippets): 代码段是预先开发的代码模板,可以节省我们对有关语法思考的时间.在VS 2005和VS 2008中,已经有建立了很多代码段.不过,这些只适用于隐藏代码(code behind).在VS 2010中代码片段支持JScript,HTML以及asp.net标记.在下面画面,展示了JScript和HTML片段的快捷菜单. 在JS中: 在HTML中 : 2.New Profi

ASP.NET 2.0(C#)(2)

介绍 使用 ASP.NET 2.0 的"主题"功能,可以将样式和布局信息分解为单独的文件组,统称为"主题".然后,主题可应用于任何站点,影响站点中页和控件的外观.这样,通过更改主题即可轻松地维护对站点的样式更改,而无需对站点各页进行编辑.还可与其他开发人员共享主题. 关键 1.在web site中添加App_Themes文件夹,可以在每个主题文件加内添加.skin文件..css文件(指定主题后会自动加载主题下所有.css文件)或者图片文件 2.在web.config

ASP.NET 2.0的缓存技术简介

asp.net|缓存 由数据库驱动的Web应用程序,如果需要改善其性能,最好的方法是使用缓存功能.用户从数据库中检索数据,可能是Web应用程序中执行最慢的操作之一.因为其中涉及多个环节,例如,Web服务器.数据库服务器等.尤其是在用户比较多,检索的数据量比较大的情况下,会给包括用户在内的各个方面造成不小的困难.如果能够将数据库中的数据缓存到内存(也可以存储在其他场所),则无需在请求每个页面时都访问数据库.由于从内存中返回数据的速度始终比新提供的数据速度快,因而可以大大提供应用程序的性能. 缓存有

ASP.NET 2.0的缓存技术

asp.net|缓存      由数据库驱动的Web应用程序,如果需要改善其性能,最好的方法是使用缓存功能.用户从数据库中检索数据,可能是Web应用程序中执行最慢的操作之一.因为其中涉及多个环节,例如,Web服务器.数据库服务器等.尤其是在用户比较多,检索的数据量比较大的情况下,会给包括用户在内的各个方面造成不小的困难.如果能够将数据库中的数据缓存到内存(也可以存储在其他场所),则无需在请求每个页面时都访问数据库.由于从内存中返回数据的速度始终比新提供的数据速度快,因而可以大大提供应用程序的性能

ASP.NET 2.0中构造个性化网页

asp.net|网页 在WEB应用中,我们经常要创建个性化的网页.什么是个性化的网页呢?举个例子,大家经常使用熟悉的搜索引擎google,当我们设置了每次要使用的个性化语言偏好,比如使用中文后,在下次使用google时,则google会出现中文界面的页面,十分方便.在asp.net 2.0中,我们可以使用profile功能,构造象上文提到的google那样的个性化网页.下面,我们举个例子来说明,在该例子中,我们建立一个日历,每次用户可以选择喜欢的语言(中文,英文)设置,当用户选定了语言设置后,则

ASP.NET 2.0 中的 Theme 功能

asp.net ASP.NET 2.0 中新增加了 Theme 的功能,它的出现能让网站实现换肤更加容易. Theme 的实现包括:CSS.Skin.MasterPage. CSS 是用于控制所有 HTML 标记的外观. Skin 是用于控制所有 ASP.NET 服务器调整的外观,并且可以通过属性 cssClass 定义它的 CSS 样式. MasterPage 是 *.aspx 页面模版,不过它没有被定义到 Theme 中. ----------------------------------