由控件的外观、样式组成的集合,由一个文件组构成,存放在App_Themes文件夹下。

主题包括:皮肤文件(.Skin)、CSS文件(.CSS)、图片、其它资源等。

主题的作用:统一设置Web页面的外观。

主题与CSS的比较

相似点           允许定义一组作用于多个页面中的控件的样式特性。

不同点     主题基于控件而不是HTML

主题允许定义和重用几乎所有的控件属性

 CSS只是直接作用于HTML的样式特性

主题应用在服务器上

主题作用到页面时,格式化后的最终页面被传送给用户。

使用样式表时,浏览器同时接收到页面和样式信息并在客户端合并它们。

不同点     可以通过配置文件来应用主题 不必修改任何一个页面就可以对整个文件及或整个网站应用主题

主题不会像CSS那样级联 CSS:内联样式优先采用

主题:主题里定义的值会覆盖控件的属性。可以通过提高页面属性的优先级来改变,这样主题的行为将更像样式表。

分工协作

CSS文件:HTML控件和页面的样式属性

主题:服务器控件的样式属性          皮肤代码中只留样式代码其余都移除

控件皮肤类型       默认皮肤 应用于同一类型的所有控件 唯一                 已命名皮肤 包含SkinID属性 多个SkinID不重复

定义默认皮肤

<asp:TextBox runat="server" BackColor="#8080FF" BorderStyle=“Groove” ForeColor=“Red“ />        *该代码是写在皮肤文件中而不是页面文件中

这是命名皮肤

<asp:TextBox runat="server" BackColor="#8080FF" BorderStyle=“Groove” ForeColor=“Red“  SkinID=“txt1" />

<asp:TextBox ID=“TextBox1" SkinID=“txt1" Runat="server" />   写在网页中

在页面级别应用主题

<%@Page   Theme="主题名"  >

在站点配置文件

<configuration>

  <system.web>

    <Pages  theme="主题名" />  

  </system.web>

</configuration>

主题冲突

如果控件的属性和主题定义的属性冲突,总是优先使用主题定义的属性

改变优先级

<%@Page   styleSheetTheme="主题名"  >

styleSheetTheme<控件属性<Theme

一个ASP.NET页面的生命周期为:  页面事件执行的顺序

客户端请求页面-->预初始化conPreInit-->初始化conInit-->完成初始化conInitComplete-->载入ViewState(LoadViewState)-->处理回送数据(IsPostBackDataHander)-->Page_OnPreLoad-->Page_OnLoad-->回发更改通知-->处理回发事件-->Page_OnLoadComplete-->预呈现-->完成预呈现-->保存-->保存ViewState-->呈现-->Page_UnLoad

  在第2步就可以进行定义站点主题(Theme)

动态加载主题:

Button_Click事件

Response.Redirect("Default.aspx?Theme=red")

page_PreInit 事件,  这个事件需要自己手动写   //在加载事件前面完成

if(Request.QueryString["Theme"]!=null)

string theme=Request.QueryString["Theme"].ToString();

换主题:   用   DropDownList  控件做

  //确定由哪个控件引发页面回传,记录此控件的唯一标识符

     UniqueID  -->在网页中此控件的ID

△生成网页时会有(_ _EVENTTARGET)生成       //_ _EVENTTARGET  页面隐藏字段中获取

string ID=Request.Form["_ _EVENTTARGET"]            //谁引发页面回传就得到谁的ID

Request.Form[id]               //获取列表值

自定义控件:封装小部分内容

母板页:封装大部分相同的内容

当有母版页,内容页,自定义控件事件发生顺序

内容  》》 母版页   》》 自定义控件

preInit-->PageLoad-->PageLoad-->PageLoad

主题简介 ASP .NET的更多相关文章

  1. ASP.NET Core 简介 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 简介 - ASP.NET Core 基础教程 - 简单教程,简单编程 ← ASP.NET Core 基础教程 ASP.NET Core Windows 环境配置 → A ...

  2. 简介 – ASP.NET MVC 4 系列

           正所谓好记性不如烂笔头,尤其是技术类书籍在阅读后,时间久了一定会忘记.而重新翻阅整本书也较为低效,遂以博客记录阅读摘要以供日后查阅.本系列文章均摘要自 Wrox 红皮书[ASP.NET ...

  3. 【Android 应用开发】 ActionBar 样式详解 -- 样式 主题 简介 Actionbar 的 icon logo 标题 菜单样式修改

    作者 : 万境绝尘 (octopus_truth@163.com) 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/3926916 ...

  4. 解读ASP.NET 5 & MVC6系列(1):ASP.NET 5简介

    ASP.NET 5简介 ASP.NET 5是一个跨时代的改写,所有的功能和模块都进行了独立拆分,做到了彻底解耦.为了这些改写,微软也是蛮 拼的,几乎把.NET Framwrok全部改写了一遍,形成了一 ...

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

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

  6. ASP.NET MVC Boilerplate简介

    ASP.NET MVC Boilerplate简介 ASP.NET MVC Boilerplate是专业的ASP.NET MVC模版用来创建安全.快速.强壮和适应性强的Web应用或站点.它在微软默认M ...

  7. ASP.NET 5简介

    ASP.NET 5简介 解读ASP.NET 5 & MVC6系列(1):ASP.NET 5简介 2015-05-13 09:14 by 汤姆大叔, 3379 阅读, 39 评论, 收藏, 编辑 ...

  8. ASP.NET Web Pages:简介

    ylbtech-.Net-ASP.NET Web Pages:简介 ASP.NET 是一个使用 HTML.CSS.JavaScript 和服务器脚本创建网页和网站的开发框架. ASP.NET 支持三种 ...

  9. [转帖]2016年的文章: 解读ASP.NET 5 & MVC6系列教程(1):ASP.NET 5简介

    解读ASP.NET 5 & MVC6系列教程(1):ASP.NET 5简介 更新时间:2016年06月23日 11:38:00   作者:汤姆大叔    我要评论 https://www.jb ...

随机推荐

  1. iOS 提示音播放

    首先找到对应的素材 音频文件 写一个类继承 NSObject 命名为AudioUtil 导入支撑文件 #import <AVFoundation/AVFoundation.h> #impo ...

  2. [原创作品]手把手教你怎么写jQuery插件

    这次随笔,向大家介绍如何编写jQuery插件.啰嗦一下,很希望各位IT界的‘攻城狮’们能和大家一起分享,一起成长.点击左边我头像下边的“加入qq群”,一起分享,一起交流,当然,可以一起吹水.哈,不废话 ...

  3. dom4j解析接口使用SOAP传递的xml

    xml 文件的格式类型: <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope ...

  4. java.lang.OutOfMemoryError: Java heap space错误及处理办法

      以下是从网上找到的关于堆空间溢出的错误解决办法: java.lang.OutOfMemoryError: Java heap space ============================= ...

  5. 利用JS实现简单的瀑布流效果

    哈哈, 我又来啦, 在这一段时间里, 我简单的学习了一下javascript(JS), 虽然不是很懂啦, 但是我也简单的尝试着做了点小东西, 就比如现在流行的瀑布流效果, 经过我的努力终于成功的完成了 ...

  6. ARM指令集——数据处理指令

    ARM汇编指令集 ARM汇编文件的组成 指令:编译完成后作为一条指令(机器码)存储在内存单元中,CPU执行时能够完成处理的操作 伪指令:在编译时替换成能被识别的ARM指令 伪操作:知道编译器进行编译, ...

  7. html5图片标签与属性

    标记:  标 记  说 明 <lmg> 图像 <Map> 图像映射 <Area> 图像映射中定义区域 <lmg>标记属性:  属 性  说 明 Src ...

  8. HTMl5的sessionStorage和localStorage(转)

    html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionStorage用于本地存储一个会话(session)中的数据,这些数据只 ...

  9. ANSI与UINCODE编码

    简要说明: ANSI是一种字符代码,为使计算机支持更多语言,通常使用 0x80~0xFF 范围的 2 个字节来表示 1 个字符. Uincode(统一码.万国码.单一码)是计算机科学领域里的一项业界标 ...

  10. visual studio 未将对象引用设置到对象的实例

    我今天在win10上安装了Visual Studio 2015,结果新建项目后在模板中选择一项后就会弹出一个对话框: 查了许多种方法后,下面这个方法解决了我这个问题: 著作权归作者所有.商业转载请联系 ...