温故知新ASP.NET 2.0(C#)(2) - Themes(主题)

ARMv8/v9 Generic Timer虚拟化架构深度解析:从硬件机制到KVM实践 操作系统的时间基准依赖硬件定时器,在ARMv8/v9架构中,Generic Timer是内核时钟、高精度定时器与用户态时间服务的共同基石。虚拟化场景下,多个虚拟机共享同一物理计数器,如何通过虚拟偏移和虚拟定时器为每个客户机提供独立、可控的时间线,成为Hypervisor设计的关键。KVM/arm64利用CNTVOFF_EL2等硬件机制实现高效的时间虚拟化,避免频繁陷入EL2,同时解决时钟漂移、热迁移状态同步等工程问题。该机制在云计算、嵌入式虚拟化、NFV实时业务等领域广泛落地。本文围绕ARMv8/v9 Ge 阅读详情
[索引页]
[源码下载]



温故知新ASP.NET 2.0(C#)(2) - Themes(主题)


作者: webabcd


介绍
使用 ASP.NET 2.0 的“主题”功能,可以将样式和布局信息分解为单独的文件组,统称为“主题”。然后,主题可应用于任何站点,影响站点中页和控件的外观。这样,通过更改主题即可轻松地维护对站点的样式更改,而无需对站点各页进行编辑。还可与其他开发人员共享主题。


关键
1、在web site中添加App_Themes文件夹,可以在每个主题文件加内添加.skin文件、.css文件(指定主题后会自动加载主题下所有.css文件)或者图片文件

2、在web.config的<system.web>元素下的<pages>元素下设置theme或者styleSheetTheme属性(针对全局);在页的@Page指令里设置Theme或者StylesheetTheme属性(针对当前页)

3、Theme定义的样式不可以覆盖;StylesheetTheme定义的样式可以覆盖

4、.skin文件里不设置SkinId则就是默认的,设置了SkinId后则对应控件的SkinId属性

5、动态修改Page的Theme要在Page_PreInit方法中实现


示例
Blue主题
< asp:Label  runat ="server"  BackColor ="blue"  ForeColor ="white"   />
< asp:Label  runat ="server"  BackColor ="DarkBlue"  ForeColor ="white"  SkinId ="Dark"   />

<% --ImageUrl如下设置则解析到该主题下的Images文件夹的pic.jpg文件-- %>
< asp:Image  runat ="server"  ImageUrl ="Images/pic.jpg"   />

Red主题
< asp:Label  runat ="server"  BackColor ="red"  ForeColor ="white"   />
< asp:Label  runat ="server"  BackColor ="DarkRed"  ForeColor ="white"  SkinId ="Dark"   />

<% --ImageUrl如下设置则解析到该主题下的Images文件夹的pic.jpg文件-- %>
< asp:Image  runat ="server"  ImageUrl ="Images/pic.jpg"   />

主题测试-Theme
Themes/Theme.aspx
<% @ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Theme.aspx.cs"
    Inherits
="Themes_Theme" Title="主题测试-Theme" Theme="Blue" 
%>

< asp:Content  ID ="Content1"  ContentPlaceHolderID ="ContentPlaceHolder1"  runat ="Server" >
    
< p >
        在页头部分指定Theme="Blue"
</ p >
    
< p >
        相关主题文件,我觉得最好把样式写在css里然后设置控件的CssClass属性
        
< br  />
        
&lt; asp:Label ID="Label1" runat="server" BackColor="blue" ForeColor="white" / &gt;
        
< br  />
        
&lt; asp:Label ID="Label2" runat="server" BackColor="DarkBlue" ForeColor="white"
        SkinId="Dark" /
&gt;
    
</ p >
    
< p >
        
< asp:Label  ID ="lbl"  runat ="Server"  Text ="不做任何设置(使用主题中的没设置SkinId的样式)"   />
    
</ p >
    
< p >
        
< asp:Label  ID ="lbl2"  runat ="Server"  Text ="设置BackColor为black(因为设置的是页的Theme属性,所以无法覆盖原有样式)"  BackColor ="black"   />
    
</ p >
    
< p >
        
< asp:Label  ID ="lbl3"  runat ="Server"  Text ="主题测试设置SkinID为dark(指定SkinId)"  SkinID ="dark"   />
    
</ p >
</ asp:Content >

主题测试-StylesheetTheme
Themes/StylesheetTheme.aspx
<% @ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="StylesheetTheme.aspx.cs"
    Inherits
="Themes_StylesheetTheme" Title="主题测试-StylesheetTheme" StylesheetTheme="Red" 
%>

< asp:Content  ID ="Content1"  ContentPlaceHolderID ="ContentPlaceHolder1"  runat ="Server" >
    
< p >
        在页头部分指定StylesheetTheme="Red"
</ p >
    
< p >
        相关主题文件,我觉得最好把样式写在css里然后设置控件的CssClass属性
        
< br  />
        
&lt; asp:Label ID="Label1" runat="server" BackColor="red" ForeColor="white" / &gt;
        
< br  />
        
&lt; asp:Label ID="Label2" runat="server" BackColor="DarkRed" ForeColor="white" SkinId="Dark"
        /
&gt;
    
</ p >
    
< p >
        
< asp:Label  ID ="lbl"  runat ="Server"  Text ="不做任何设置(使用主题中的没设置SkinId的样式)"   />
    
</ p >
    
< p >
        
< asp:Label  ID ="lbl2"  runat ="Server"  Text ="设置BackColor为black(因为设置的是页的StylesheetTheme属性,所以可以覆盖原有样式)"  BackColor ="black"   />
    
</ p >
    
< p >
        
< asp:Label  ID ="lbl3"  runat ="Server"  Text ="主题测试设置SkinID为dark(指定SkinId)"  SkinID ="dark"   />
    
</ p >
</ asp:Content >

主题测试-动态加载主题
Themes/Dynamic.aspx
<% @ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Dynamic.aspx.cs"
    Inherits
="Themes_Dynamic" Title="主题测试-动态加载主题" 
%>

< asp:Content  ID ="Content1"  ContentPlaceHolderID ="ContentPlaceHolder1"  runat ="Server" >
    
< p >
        相关.skin文件内容如下:
&lt; asp:Image runat="server" ImageUrl="Images/pic.jpg" / &gt;
    
</ p >
    
< p >
        
< a  href ="?theme=blue" > 蓝色主题 </ a >   &nbsp; < a  href ="?theme=red" > 红色主题 </ a >
    
</ p >
    
< p >
        该Image控件应用主题中的样式,包括ImageUrl
        
< br  />
        
< asp:Image  ID ="img"  runat ="server"   />
    
</ p >
</ asp:Content >

Themes/Dynamic.aspx.cs
using  System;
using  System.Data;
using  System.Configuration;
using  System.Collections;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;

public  partial  class  Themes_Dynamic : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{

    }


    
protected void Page_PreInit(object sender, System.EventArgs e)
    
{
        
// 动态修改Page的Theme要在Page_PreInit方法中实现
        if (!String.IsNullOrEmpty(Request.QueryString["theme"]))
        
{
            Page.Theme 
= Request.QueryString["theme"];
        }

        
else
        
{
            Page.Theme 
= "blue";
        }

    }

}



OK
[源码下载]
主题示例ThemeDemo 里面有文章详细说明如何定义主题,如何以编程方式应用 ASP.NET主题 立即下载

相关推荐

WPF Themes 主体风格 样式

WCF的主体资源,整理了很多风格 项目描述: WPF Themes 是应用在WPF项目中的免费主题。 支持的控件: -Button -ToggleButton -RadioButton -CheckBox -TextBox -ComboBox -ListBox -ProgressBar -Slider -TreeView -Expander

ASP.NET 主题(Themes)FAQ( 转自善友)

1、主题是什么   主题由一组元素组成:外观、级联样式表 (CSS)、图像和其他资源。主题将至少包含外观。主题是在网站或 Web 服务器上的特殊目录中定义的。主题是一组Web Control的属性设置的集合,提供一种简单的方法设置控件的样式属性。·         主题只在Web Control中有效·         母板页(Master Page)上不能设置主题,但是主题可

yangqian1130的专栏 551

Cadence Allegro 17.4 保姆级教程:PCB位号重排与反标回原理图完整避坑指南

本文详细解析了Cadence Allegro 17.4中PCB位号重排与反标回原理图的全流程,包括安全工程准备、智能重排策略和反标黄金法则。特别针对芯片封装协同设计(Co-Design)场景,提供可追溯的版本管理和故障恢复方案,帮助工程师避免常见位号陷阱,确保设计文件一致性。

weixin_30613433的博客 438

ASP.NET中的Theme功能

ASP.NET中使用皮肤

LazyLion2010的专栏 807

Camera mipi通信协议

MIPI(移动行业处理器接口),是的缩写。MIPI移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。分别定义了一系列的手机内部接口标准,比如摄像头接口CSI、显示接口DSI,其中是由MIPI联盟下Camera工作组指定的接口标准。CSI-2是MIPI CSI第二版,主要由应用层、协议层、物理层组成,最大支持4通道数据传输、单线传输速度高达1Gb/s。

arvin_xiong的博客 3730

当R语言遇见MaxENT:参数优化的艺术与自动化调参实践

本文探讨了R语言与MaxENT在生态位建模中的结合应用,重点介绍了参数优化与自动化调参的实践方法。通过caret与ENMeval工具链,研究人员可以高效处理多物种、多环境变量的大规模分析任务,提升模型性能与工作效率。文章还涵盖了从数据准备到结果可视化的全流程,为生态学家提供了实用的技术指导。

corn8的博客 455

ASP.NET 2.0 Theme 学习笔记

1.   简介:Theme(主题)是 Microsoft ASP.NET 2.0 的一项新增功能,使用此功能可以一次定义一组控件的外观,并可以将该外观应用于整个 Web 应用程序。例如,通过利用主题功能,您可以在一个中心位置为应用程序中的所有 TextBox 控件定义共同的外观,如背景颜色和前景颜色。使用主题功能可以轻松建立并维护整个网站外观的一致性。2.   应用2.1. 创建和使用主题2.

创世元年 969

SystemRDL:从寄存器描述到自动化生成的完整指南

本文详细介绍了SystemRDL如何通过“一份描述,多处生成”的理念,彻底解决芯片与FPGA设计中手动维护寄存器带来的不一致与低效问题。文章提供了从语言快速上手、核心组件讲解到使用PeakRDL工具链实现自动化代码与文档生成的完整实战指南,帮助硬件工程师构建高效、可靠的寄存器开发流程。

weixin_29243279的博客 656

ASP.NET2.0中themes、Skins轻松实现网站换肤!

可能有些朋友还不是很清楚themes、skins。下面先介绍下themes、skins.。一、简介:一看Themes、Skins这2名字就都知道是用来做什么的了吧,下面就说下它是做什么的(怎么都知道了还说,~_~),利用Themes我们可以很容易的更改控件、页面的风格,而不需要修改我们的代码和页面文件。Themes文件被单独的放在1个App_Themes文件夹下面,与你的程序是完全分开的。二、怎么...

weixin_33912453的博客 191

PCB布局布线要求及多层电路板叠加原则

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考本文主要针对PCB布局布线中的要点进行了总结,并对多层电路板的叠加原则进行了解释。

Ka_wyb的博客 2933

2.1 量子精密测量:SERF原子陀螺仪中的核自旋-电子自旋强耦合机制

本文深入解析了SERF原子陀螺仪中核自旋-电子自旋强耦合机制的核心原理与应用。通过量子精密测量技术,SERF陀螺仪实现了超高精度的惯性导航,其独特的磁场自补偿和拉莫尔进动特性使其在弱磁场环境下表现出色。文章还探讨了关键技术突破和前沿进展,展示了量子精密测量在惯性导航领域的巨大潜力。

kotlin6android的博客 210

记录|C#主界面设计【Web风格】

C# ][Winform]炫酷扁平UI,随机多色彩切换,活动窗口高亮按钮上面的界面布局是值得学习的,页面间的切换也是不错的。自己跟着做了下,代码上传了,可以下载【C#主界面设计】

技术小白=-=的博客 1万+

Vivado实战:如何用BUFGMUX_CTRL实现FPGA双时钟热切换(附时序约束模板)

本文详细介绍了如何使用Xilinx FPGA中的BUFGMUX_CTRL原语实现双时钟热切换的工业级解决方案。通过分析BUFGMUX_CTRL的核心机制、PCB布局约束和电源噪声抑制方法,提供Vivado实现全流程和时序约束模板,帮助工程师在工业自动化、车载电子等场景中提升系统可靠性。

weixin_29186249的博客 572

温故知新ASP.NET 2.0(C#)系列文章索引

[源码下载]温故知新ASP.NET 2.0(C#)系列文章索引作者:webabcd介绍温故知新ASP.NET 2.0(C#)系列文章索引:MasterPage(母版页)、Themes(主题)、SiteMap(站点地图)、Cache&SqlCacheDependency(缓存和SqlCacheDependency特性)、Localization(本地化,多语言)、Membership&Rol

johncools的博客 2418

华为OD新系统机试真题 - 配置操作失败数量统计

华为OD机试新系统 4月8号【配置操作失败数量统计】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【配置操作失败数量统计】。

qq_45776114的博客 1158

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

温故知新ASP.NET 2.0(C#)(5) - Localization

介绍  声明性资源表达式可使您的应用程序使用多种语言,而不必手动编写代码来检索资源并在页中进行替换。您只需使用 ASP.NET 2.0 中新提供的表达式语法即可对资源替换进行定义。ASP.NET 2.0 支持标准的 resx 文件格式自动进行运行时资源检索。关键  1、Culture - 决定各种数据类型是如何组织,如数字与日期;UICulture - 决定了采用哪一种本地化资源,也就

eunsikehuang的专栏 619

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

转 温故知新ASP.NET 2.0(C#)系列文章索引

 温故知新ASP.NET 2.0(C#)系列文章索引作者:webabcd介绍温故知新ASP.NET 2.0(C#)系列文章索引:MasterPage(母版页)、Themes(主题)、SiteMap(站点地图)、Cache&SqlCacheDependency(缓存和SqlCacheDependency特性)、Localization(本地化,多语言)、Membership&RoleMana

Many a little makes a mickle. 429

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

温故知新ASP.NET 2.0(C#)系列

作者:webabcd 来源:博客园 时间:2008-09-04 温故知新ASP.NET 2.0(C#)(1) - MasterPage(母版页) (2008-09-04) 温故知新ASP.NET 2.0(C#)(2) - Themes(主题) (2008-09-04) 温故知新ASP.NET 2.0(C#)(3) - SiteMap(站点地图) (2008...

weixin_30919571的博客 132

温故知新ASP.NET 2.0(C#)(1) - MasterPage(母版页)

[索引页][源码下载]温故知新ASP.NET 2.0(C#)(1) - MasterPage(母版页)作者:webabcd介绍母版页(MasterPage)就相当于模板页,挺简单的,没什么好说的。基于母版页的常用的功能有:母版页和内容页之间信息的传递,在内容页中用FindControl方法找到内容页中的控件等。另外,母版页是可以嵌套的。关键

webabcd的专栏 662

温故知新ASP.NET 2.0(C#)(5) - Localization(本地化,多语言)

[索引页][源码下载]温故知新ASP.NET 2.0(C#)(5) - Localization(本地化,多语言)作者:webabcd介绍声明性资源表达式可使您的应用程序使用多种语言,而不必手动编写代码来检索资源并在页中进行替换。您只需使用 ASP.NET 2.0 中新提供的表达式语法即可对资源替换进行定义。ASP.NET 2.0 支持标准的 resx

webabcd的专栏 787
上一篇: 温故知新ASP.NET 2.0(C#)(1) - MasterPage(母版页)
下一篇: 温故知新ASP.NET 2.0(C#)(3) - SiteMap(站点地图)
webabcd
博客等级 码龄17年 28粉丝 911原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值