1、主题是什么
   主题由一组元素组成:外观、级联样式表 (CSS)、图像和其他资源。主题将至少包含外观。主题是在网站或 Web 服务器上的特殊目录中定义的。主题是一组Web Control的属性设置的集合,提供一种简单的方法设置控件的样式属性。
·         主题只在Web Control中有效
·         母板页(Master Page)上不能设置主题,但是主题可以在内容页面上设置
·         主题上设置的Web Control的样式覆盖页面上设置的样式
·         如果在页面上设置EnableTheming="false",主题无效
·         要在页面中动态设置主题,必须在页面生命周期Page_Preinit事件之前
·         主题包括.skin和.css文件
2、.skin是什么文件
.skin是外观文件,它包含各个控件(例如,Button、Label、TextBox 或 Calendar 控件)的属性设置。控件外观设置类似于控件标记本身,但只包含您要作为主题的一部分来设置的属性。例如,下面是 Button 控件的控件外观:
<asp:button runat="server" BackColor="lightblue" ForeColor="black" />
在 theme 文件夹中创建 .skin 文件。一个 .skin 文件可以包含一个或多个控件类型的一个或多个控件外观。可以为每个控件在单独的文件中定义外观,也可以在一个文件中定义所有主题的外观。有两种类型的控件外观 -“默认外观”和“已命名外观”:
·         当向页应用主题时,默认外观自动应用于同一类型的所有控件。如果控件外观没有 SkinID 属性,则是默认外观。例如,如果为 Calendar 控件创建一个默认外观,则该控件外观适用于使用本主题的页面上的所有 Calendar 控件。(默认外观严格按控件类型来匹配,因此 Button 控件外观适用于所有 Button 控件,但不适用于 LinkButton 控件或从 Button 对象派生的控件。)
·         已命名外观是设置了 SkinID 属性的控件外观。已命名外观不会自动按类型应用于控件。而应当通过设置控件的 SkinID 属性将已命名外观显式应用于控件。通过创建已命名外观,可以为应用程序中同一控件的不同实例设置不同的外观。
3、如何为相同控件定义不同的Skin
    使用SkinID为控件定义不同的skin,例如
<asp:Label runat=server Text="ThemedLabel" BackColor="Red" /> -label的缺省外观          <asp:Label runat=server SkinId="BoldLabel" Text="ThemedLabel_WithSkinId" BackColor="Blue" Font-Bold="true" /> - 命名为BoldLabel 的Label外观
   因此页面没有指定SkinId的label自动应用缺省外观,Label的SkinID设置为BoldLabel的Label控件应用BoldLabel外观
4、如何组织主题文件内容
   Theme文件下可以包含多个.Skin文件,所以可以多种方式组织你的主题文件,所有的主题文件在应用于页面之前会合并。
·         一个.skin文件包含所有的控件的外观定义
·         每个控件一个.skin文件
·         相同SkinID的控件放在一个.skin文件中
5、有没有办法定义好的Theme文件在多个程序中共享
服务器上的任何网站以及任何网站中的任何页面都可以引用全局主题,使用全局的主题可以在各个应用程序之间共享,例如你想创建一个全局共享的主题theme1。IIS 服务器上的全局主题放置位置类似于 \Inetpub\wwwroot\aspnet_client\system_web\v2.0.xxxxx\Themes\Theme1
应用程序级别的主题会覆盖全局的主题,例如你在应用程序中也定义了Theme1的主题,那么在应用程序级的Theme1主题将覆盖全局的主题Theme1
6、StyleSheetTheme是什么
   主题还可以包含级联样式表(.css 文件)。将 .css 文件放在主题目录中时,样式表自动作为主题的一部分应用。使用文件扩展名 .css 在主题文件夹中定义样式表。设置页面的 StyleSheetTheme 属性将主题作为样式表主题来应用。如果您希望能够设置页面上的各个控件的属性,同时仍然对整体外观应用主题,则可以将主题作为样式表主题来应用。EnableTheming="false"情况下StyleSheetTheme仍然有效。通过重写属性StyleSheetTheme来动态修改页面上的主题样式
 public override string StyleSheetTheme
 {
    get{ retrun "MyStyleSheetTheme"; }
 }
7、主题(Theme/Skin)资源
一组相当不错的Theme,可以直接应用的项目开发中
    Theme预览:
    Theme下载:http://www.dotnettreats.com/tools/Default.aspxhttp://www.dotnettreats.com/SampleThemes/Default.aspx
原链接地址:http://shanyou.blog.51cto.com/363653/74943

ASP.NET 主题(Themes)FAQ相关推荐

  1. [摘自MSDN] ASP.Net2.0学习 [2] 主题 1 :ASP.NET 主题和外观概述

    ASP.NET 主题和外观概述 主题是属性设置的集合,使用这些设置可以定义页面和控件的外观,然后在某个 Web 应用程中的所有页.整个 Web 应用程序或服务器上的所有 Web 应用程中一致地应用此外 ...

  2. 学习笔记--asp.net主题和外观(转自msdn,仅为自己学习存储和有意读者使用)

    ASP.NET 主题和外观 .NET Framework 4 其他版本 1(共 1)对本文的评价是有帮助 - 评价此主题 主题是属性设置的集合,使用这些设置可以定义页面和控件的外观,然后在某个 Web ...

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

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

  4. #03 ASP.NET主题

    新建外观文件 在右侧解决方案新建的网站, 右键 - 添加ASP.NET文件夹 - 主题 在主题上右键 - 添加新项 - 外观文件, 填写主题代码 在外观文件中填写主题代码 例如: <asp:Bu ...

  5. ASP.NET 2.0(C#) - Themes(主题)

    原文链接:http://www.netfocus.cn/article1648.html 作者:webabcd 介绍 使用 ASP.NET 2.0 的"主题"功能,可以将样式和布局 ...

  6. MVC 之 架构的基本原理及Asp.Net实现MVC

    一.引言 许多Web应用都是从数据存储中检索数据并将其显示给用户.在用户更改数据之后,系统再将更新内容存储到数据存储中.因为关键的信息流发生在数据存储和用户界面之间,所以很多应用将数据和用户界面这两部 ...

  7. MVC架构在Asp.net中的应用和实现

    MVC架构在Asp.net中的应用和实现 摘要:本文主要论述了MVC架构的原理.优缺点以及MVC所能为Web应用带来的好处.并以"成都市信息化资产管理系统"框架设计为例,详细介绍其 ...

  8. ASP.NET笔记(三)

    一.使用主题自定义网站(App_Themes,<@Page Theme/StyleSheetTheme..>,<page theme="">) 创建主题并将 ...

  9. 转: 大年三十整理的asp.net资料!(经典)

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

最新文章

  1. Set集合常用方法 遍历Set集合的方法
  2. 相机设置感兴趣区域(自带API)
  3. java如何將數組反轉_Java基礎練習題 (4)數組操作
  4. debian安装python3_debian上安装python3.6
  5. poi获取段落位置_Apache POI:从java中的word文档(docx)中提取段落和后续表格
  6. 《解剖PetShop》系列之二
  7. python如何读取数据保存为新格式_python,初学者应用实例:读取文件中的数据,将将北京时间转换成世界时间,再保存成新的CSV格式文件...
  8. SpringBoot项目集成Mybatis Plus(二)代码生成器
  9. 物联网全面崛起 LED企业大有可为
  10. hive数据去重测试
  11. 无限分级函数 简单 引用绑值
  12. 【小窍门tip】oracle sequence 修改增量值
  13. NodeJS对mysql数据库的简单操作
  14. 每日一句 i'm by disposition one of life's neutrals,a human Switzerland
  15. maya python 游戏与影视编程指南_Maya Python游戏与影视编程指南
  16. 运营 | 抖音运营12个步骤
  17. 美团旅游召回系统设计
  18. 搭讪培训班 - 名品试用 - YOKA时尚论坛 - YOKA社区
  19. C++提高进阶,你知道多少?
  20. mysql 字符集测试_关于字符集的测试报告_MySQL

热门文章

  1. mysql sql时间比较_mysql和sql时间 字段比较大小的问题
  2. mysql查询hash分区数据_mysql分区管理 - hash分区
  3. 外接鼠标键盘无反应处理
  4. HPC在石油勘探行业正面临三大考验
  5. 《我的世界》AI大战降临:6000万帧超大数据集已发布,NeurIPS 19向你约战
  6. 苹果传出放弃研发自动驾驶,因iPhone销量不佳收紧支出
  7. 人民日报发推欢迎Google重返大陆,FB上长文阐述详细立场
  8. 刚刚,自动驾驶路测国家规范出台:无人车即将开上更多实际道路
  9. 顶会ICML特别开设“怼日”Workshop,意见不同您尽管来
  10. 毕啸南专栏 | 对话今日头条副总裁马维英:有技术也要有价值观