主题简介 ASP .NET
由控件的外观、样式组成的集合,由一个文件组构成,存放在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的更多相关文章
- ASP.NET Core 简介 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 简介 - ASP.NET Core 基础教程 - 简单教程,简单编程 ← ASP.NET Core 基础教程 ASP.NET Core Windows 环境配置 → A ...
- 简介 – ASP.NET MVC 4 系列
正所谓好记性不如烂笔头,尤其是技术类书籍在阅读后,时间久了一定会忘记.而重新翻阅整本书也较为低效,遂以博客记录阅读摘要以供日后查阅.本系列文章均摘要自 Wrox 红皮书[ASP.NET ...
- 【Android 应用开发】 ActionBar 样式详解 -- 样式 主题 简介 Actionbar 的 icon logo 标题 菜单样式修改
作者 : 万境绝尘 (octopus_truth@163.com) 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/3926916 ...
- 解读ASP.NET 5 & MVC6系列(1):ASP.NET 5简介
ASP.NET 5简介 ASP.NET 5是一个跨时代的改写,所有的功能和模块都进行了独立拆分,做到了彻底解耦.为了这些改写,微软也是蛮 拼的,几乎把.NET Framwrok全部改写了一遍,形成了一 ...
- 044. asp.net主题之三应用或禁用主题和动态加载主题
1.为单个页面指定主题可以将@Page指令的Theme或StyleSheetTheme属性设置为要使用的主题名称, 代码如下: <%@ Page Theme ="MyTheme&quo ...
- ASP.NET MVC Boilerplate简介
ASP.NET MVC Boilerplate简介 ASP.NET MVC Boilerplate是专业的ASP.NET MVC模版用来创建安全.快速.强壮和适应性强的Web应用或站点.它在微软默认M ...
- ASP.NET 5简介
ASP.NET 5简介 解读ASP.NET 5 & MVC6系列(1):ASP.NET 5简介 2015-05-13 09:14 by 汤姆大叔, 3379 阅读, 39 评论, 收藏, 编辑 ...
- ASP.NET Web Pages:简介
ylbtech-.Net-ASP.NET Web Pages:简介 ASP.NET 是一个使用 HTML.CSS.JavaScript 和服务器脚本创建网页和网站的开发框架. ASP.NET 支持三种 ...
- [转帖]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 ...
随机推荐
- qt动态更新界面的菜鸟代码,请指出
qt简单界面更新代码(菜鸟级)(部分代码) self.timers_1=QtCore.QTimer(self) self.timers_1.timeout.connect(self.min_1) se ...
- C++ Primer 学习笔记_77_模板与泛型编程 --实例化
模板与泛型编程 --实例化 引言: 模板是一个蓝图,它本身不是类或函数.编译器使用模板产生指定的类或函数的特定版本号.产生模板的特定类型实例的过程称为实例化. 模板在使用时将进行实例化,类模板在引用实 ...
- Hibernate入门之关系篇:多对一和一对多映射
关联关系映射,是对象映射关系中相对复杂的一种,但也是用处最多的一种,因为数据中的表不可能都是单独存在,彼此之间必定存在千丝万缕的联系,这也是关系型数据库的特征所在.同样关联关系的映射,也是对象关系映射 ...
- 图像重采样(CPU和GPU)
1 前言 之前在写影像融合算法的时候,免不了要实现将多光谱影像重采样到全色大小.当时为了不影响融合算法整体开发进度,其中重采样功能用的是GDAL开源库中的Warp接口实现的. 后来发现GDAL War ...
- arraylist与List<>
arraylist 不用规定 类型 list<>用规定类型 推荐list 这个编译检查类型 出错率低 代码质量高
- hdu 1262寻找素数对
Problem Description 哥德巴赫猜想大家都知道一点吧.我们现在不是想证明这个结论,而是想在程序语言内部能够表示的数集中,任意取出一个偶数,来寻找两个素数,使得其和等于该偶数. 做好了这 ...
- C/C++中的空类及抽象类大小
代码: #include <iostream> using namespace std; struct A{ }; struct B{ int i; }; class C:B{ ; }; ...
- cocos2dx 字体描边方法介绍
转载地址:http://www.taikr.com/group/2/thread/1606 关于cocos2dx 字体描边的实现,不考虑效果和效率的话,是有三种方式: ① 利用CCLabelTTF制作 ...
- winPcap_2_编译环境*注意*
使用WinPcap编程 创建一个使用 wpcap.dll 的应用程序 用 Microsoft Visual C++ 创建一个使用 wpcap.dll 的应用程序,需要按以下步骤: 在每一个使用了库的源 ...
- Kendo Web UI Grid数据绑定,删除,编辑,并把默认英文改成中文
Kendo Web UI 是个不错的Jquery框.可惜老外写的,很多都是默认的英文,当然我们也可以设置成中文,接下来,我们就看看Grid是如何实现的数据绑定(Kendo Grid数据绑定实现有很多方 ...