设定主题:

右击网站,选择添加ASP.NET文件夹,选择主题。系统默认将文件夹命名为App_Themes,我们在这个文件夹下添加外观文件,在.skin后缀的文件中自定义我们想要的主题。

例如:

<%-- 2.默认外观。未定义SkinId。在同一主题中每个控件类型只允许有一个默认的控件外观。--%>

<asp:Imagerunat="server"ImageUrl="~/images/image1.jpg"/>

<asp:Buttonrunat="server"BackColor="lightblue"FontColor="black"/>

<%--为Lable控件定义三种外观--%>

<asp:Labelrunat="server"foreColor="#FF0000"Font-Size="X-Small" />

<asp:Labelrunat="server"foreColor="#00FF00"Font-Size="X-Small" SkinId="LableGreen"/>

<asp:Labelrunat="server"foreColor="#0000FF"Font-Size="X-Small" SkinId="LableBlue"/>

利用SkinId属性,为同种类型的控件定义多种不同的外观。

使用主题:

对单个网页设定主题代码:

<%@Page StylesheetTheme="Red"%>

<%@Page Theme="Red" %>

二者是有区别的,我们对某个类型的控件设定外观的时候,可能这个控件本身的属性已经设定。那我们在外观对控件设定的外观会不会覆盖原来这个控件本身的属性呢?例如控件字体颜色属性为红色,我们在外观文件改为蓝色,并使用主题,那字体颜色结果是红色还是蓝色呢?这就说到了StylesheetTheme和Theme的区别,Theme会覆盖本地属性的。

对网站应用主题代码:

唯一不同的是,在配置文件中进行修改:

<configuration>

<system.web>

<pages theme="ThemeName"/>

</system.web>

</configuration>

如果我们同时设定了整个网站的主题,也同时设置了单个页面的主题,则页面主题优先。

禁用主题:

<% @PageEnableTheming="false">

DEMO:

 三个主题页面代码:

Red主题页

<%--为三种类型控件外观--%>

  1. <asp:Labelrunatasp:Labelrunat="server" foreColor="#FF0000"   />
  2. <asp:TextBoxrunatasp:TextBoxrunat="server" foreColor="#FF0000"/>
  3. <asp:Buttonrunatasp:Buttonrunat="server" foreColor="#FF0000"  />

Green主题页

<%--为三种类型控件外观--%>

  1. <asp:Labelrunatasp:Labelrunat="server" foreColor="Green"   />
  2. <asp:TextBoxrunatasp:TextBoxrunat="server" foreColor="Green"/>
  3. <asp:Buttonrunatasp:Buttonrunat="server" foreColor="Green"  />

页面Themes.aspx.cs代码:

  1. public partial class Theme : System.Web.UI.Page
  2. {
  3. //在页开始初始化时发生。
  4. protected void Page_PreInit(object sender, EventArgs e)
  5. {
  6. //当选择下拉列表框中的Blue或Green Red时设置页面的主题。
  7. if (Request["ddlThemes"] != "0")
  8. {
  9. //字符串形式传递页面主题的字符串。
  10. Page.Theme = Request["ddlThemes"];
  11. }
  12. }
  13. }

显示:

主题就像是女孩子漂亮的衣服,而且是一身一身的,不同的女孩子喜欢不同的款式。几乎每个软件都有自己可更换的“衣服”,我们的电脑桌面有主题,office大多数软件有主题设置,我们使用的浏览器有主题等等。主题为各种不同的用户在视觉感观上考虑的更加周到。

Asp.net 主题的更多相关文章

  1. 044. asp.net主题之三应用或禁用主题和动态加载主题

    1.为单个页面指定主题可以将@Page指令的Theme或StyleSheetTheme属性设置为要使用的主题名称, 代码如下: <%@ Page Theme ="MyTheme&quo ...

  2. 043. asp.net主题之一初识主题和皮肤

    主题由外观, 级联样式表(CSS), 图像和其它资源组成, 主题中至少包含外观. 他是在网站或Web服务器上的特殊目录中定义的: 外观: 外观文件是主题的核心内容, 用于定义页面中服务器控件的外观, ...

  3. Asp.net主题(theme)和皮肤(skin)的使用

    asp.net 的服务器端控件提供了多种样式的设计,如果对每个控件都单独设置,是比较繁琐的事情,所以微软也提供了针对这些服务器端控件的样式管理,其实也可以通过 css来控制部分服务器端控件的样式,比如 ...

  4. Asp.net 主题 【2】

    通常我们经常看到网页,一些软件提供换肤功能,各种主题间切换.ASP.NET 2.0 中可以用Theme和skin以及CSS轻松实现这个功能. 首先简单介绍一下三种技术:主题(Theme)技术,面板(s ...

  5. Asp.net 主题 【1】

    页面中默认的显示样式太朴素,一页一页的设置控件的显示样式效率又太低,主题和皮肤则提供了一种高效的设计方案.   一.添加主题 二.添加皮肤文件(.skin): 在皮肤文件中添加如下代码 <asp ...

  6. 044. asp.net主题之二为主题添加CSS样式和动态加载主题

    1. 新建任意一个网站, 默认主页为Default.aspx, 增加一个App_Themes目录, 用于存储主题, 添加一个MyTheme的主题, 在MyTheme主题下添加一个样式表文件, 默认名称 ...

  7. ASP.NET(转自wiki)

    ASP.NET是由微软在.NET Framework框架中所提供,开发Web应用程序的类库,封装在System.Web.dll文件中,显露出System.Web名字空间,并提供ASP.NET网页处理. ...

  8. Silverlight中的主题设置

    关于Theme,我的理解是和ASP.NET主题中的CSS是一个意思,当然,Sl中的样式更加的强大. 第一种方式: 1,装完Silverlight Tookit之后,在C:\Program Files\ ...

  9. asp.net资料! (.NET) (ASP.NET)

    使用SqlBulkCopy类加载其他源数据到SQL表 在数据回发时,维护ASP.NET Tree控件的位置 vagerent的vs2005网站开发技巧 ASP.NET2.0小技巧--内部控件权限的实现 ...

随机推荐

  1. java学习之关键字

    java语言当中的关键字,之所以存在,是为了告诉编译器如何解释一段有意义的代码段.比如说 /**需求:演示java中关键字存在的含义步骤:用class,public,static,void等说明什么是 ...

  2. Kernel-Scheduler implementation

    2033 const struct sched_class rt_sched_class = { 2034 .next = &fair_sched_class, 2035 .enqueue_t ...

  3. 数据结构(线段树):Educational Codeforces Round 6 620E. New Year Tree

    E. New Year Tree time limit per test 3 seconds memory limit per test 256 megabytes input standard in ...

  4. Delphi TdxComponentPrinter页头页脚的设定

    TdxComponentPrinter页头页脚的设定 抄一段备忘.用程序控制也一样.如果是这样,那么 双击TdxComponentPrinter控件,在出现的窗口中,点击ADD,建立一个与TcxGri ...

  5. JS JQuery Ajax 跨域 Post Soap webservice

    呵呵 最近做一些HTML5的项目, 对于前段开发, 相信大家会碰到一个常见问题, 那就是Javascript跨域访问的问题. 话不多说 直接重点 当前网站和Webservice部署在同一个domain ...

  6. mac下的改装人生——把主硬盘换成ssd

    这两天搞得最多的事情就是我的这两块硬盘,基本上的时间都被他们占用去了,但是最后的结果也是让我很开心--开机瞬秒,程序瞬秒,生活质量瞬间高了很多哈. 关于ssd的各种事情,我的另外一篇博客有讲,算是比较 ...

  7. 《Qt编程的艺术》——8.2.1 在Designer中使用View类

    不幸的是,QDirModel有一个严重的限制:因为view不响应鼠标操作,我们不得不自己建立这些功能.除此之外,每个view中,用户都一次只能选择一个元素.如果你想要允许同时选择多个项目,你也必须自己 ...

  8. 《Web 前端面试指南》2、JavaScript 的 Bind 函数进阶

    使用 Bind() 设置方法中 this 对象 //<button>获取随机的人</button>​ //<input type="text"> ...

  9. js复选框全选

    <input name='chkAll' type='checkbox' id='chkAll' onclick='CheckAll(this.form)' value='checkbox'&g ...

  10. Protocol buffer序列化及其在微信蓝牙协议中的应用

    Protocol buffer是Google出品的一种轻便高效的结构化数据存储格式,可对结构化数据进行序列化,并具有语言无关.平台无关等特点,在通信协议和数据存储等领域已经得到广泛的应用.目前其已经提 ...