快速业务通道

asp.net 2.0揭秘读书笔记三:使用主题设计网站

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20

一、创建主题

在名为App_Themes的应用程序的文件夹中新增文件夹就可以创建主题。在App_Themes中添加的每一个 文件夹都代表一个主题。

在主题文件夹中比较重要的文件类型有皮肤文件和CSS文件。

二、在主题中添加皮肤

一个主题可能包含一个或多个皮肤文件。可以通过皮肤来修改所有具有皮肤效果的ASP.NET控件属性。

例如,将Web应用程序中所有的TextBox控件的背景颜色设为黄色并选择dotted作为它的边框样式。在 App_Themes文件夹下建立Simple文件夹,然后在Simple文件夹中建立TextBox.skin文件,该文件代码如下 所示:

<asp:TextBox BackColor=”Yellow” BorderStyle=”Dotter” runat=”Server”/>

注意上面代码里面runat是必须的,而且不能带ID属性。

主题文件夹下可以拥有一个或上百给皮肤文件,但在一个主题文件夹下的所有的文件都会编译成一个 主题类。

上面的主题文件夹Simple如果要在某个页面使用其定义的主题,则使用如下代码:

<%@ Page Language=”C#” Theme=”Simple”%>

如果该页面的TextBox控件属性EnableTheming设置为false,则主题不起作用。

1、创建命名皮肤

在定义命名皮肤时比定义默认皮肤增加SkinID属性,在应用主题页面指定控件的SkinID属性为命名皮 肤定义的SkinID属性名称即可。

2、Themes和StyleSheetThems

使用Themes指定应用某个主题时候,主题定义皮肤会覆盖页面中控件自定义的皮肤。

而使用StyleSheetThems指定则不会覆盖。

<%@ Page Language=”C#” StyleSheetThems=”Simple”%>

3、禁用皮肤

每个控件都包含有EnableTheming属性,设置为false则禁用主题皮肤。

4、在Web配置文件中注册主题

<system.web>

<pages theme=”Simple” />

</system.web>

在启用程序中的主题后,可以在特定页面中通过

<%@ Page Language=”C#” EnableTheming=”false”%>

来禁用主题。

三、在主题中添加CSS

除了使用主题皮肤外,也可以使用CSS来控制页面上HTML元素和ASP.NET控件的皮肤。如果在主题文件 夹下添加了CSS文件,则在页面应用主题时也会自动应用CSS。

四、创建全局主题

此种情况本人应用较少,跳过。对于很少用到的知识而且又不是基础性的,我的学习原则是知道有这 个应用即可,待有机会真正用上时再学习也不迟。不然在技术的汪洋大海里面永远也不知岸在哪里。

五、动态应用皮肤

通过处理页面的Page_PreInit事件可以在页面动态应用主题。在请求页面时,这是第一个被触发的事 件。在其后的Page_Load或Page_PreRender等事件中是不能动态应用主题的。

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 

"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">

    protected void Page_PreInit(object sender, EventArgs e)

    {

        if (Request["theme"] != null)

        {

            switch (Request["theme"])

            {

                case "Green":

                    Profile.userTheme = "GreenTheme";

                    break;

                case "Pink":

                    Profile.userTheme = "PinkTheme";

                    break;    
      

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号