西安建设网站推广/引擎seo优

西安建设网站推广,引擎seo优,小米应用商店安装下载,wordpress菜单与顶部互换基本概念&#xff1a; Theme 和 Skin用以定义页面中各个控件的显示样式&#xff0c;如字体大小&#xff0c;前/后景色等等。一个Theme可以包括多个Skin&#xff0c;一个Skin可以定义多个控件的样式。目的&#xff1a; 使得页面样式的制作可以与页面制作分工进行。<?xml:nam…

基本概念:

Theme Skin用以定义页面中各个控件的显示样式,如字体大小,前/后景色等等。

一个Theme可以包括多个Skin,一个Skin可以定义多个控件的样式。

 

目的:

使得页面样式的制作可以与页面制作分工进行。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

使得页面的布局、样式集中管理,方便修改。

 

使用:

目录结构:

如果一个Web应用有用到Theme(应用级别的Theme,下面会讲到全局级的Theme),则在该Web应用的根目录下有个名为 App_Themes”的子目录,而每个Theme都是”App_Themes”的一个子目录。

每个Skin都是Theme目录中的一个后缀名为.skin的文件。

 

Theme的使用级别:

全局Theme: 

ASP.Net的安装目录(通常是%WINDIR% \Microsoft.NET \Framework \<version>\)下,建立名为”Theme”的子目录,并在其下建立各个全局Theme目录。

全局Theme对于整个机器上的所有Web应用都可见。

 

应用级的Theme

目录结构中说到的,建立在Web应用根目录下的”App_Themes”目录下。

应用级的Theme只对当前Web应用可见。

 

Theme的引用:

页面引用:

Web页面中用<%@ Page Theme="..." %>设定使用哪个Theme。选中的Theme在该页面有效。

 

配置引用:

Web应用的配置文件中,用<pages theme="..."/> 设定使用哪个Theme。设定的Theme对于整个Web应用有效。

 

动态引用:

在页面的Page_PreInit()中,为Page.Theme 设定一个可见的Theme名称。

 

页面样式应用的优先级

一共有4种方式设定页面的样式:CSSStyleSheetTheme(Tutorial上说这是Server-Side Style, 我不是很明白它的含义),各个控件自己设定的样式属性,Theme。如果设定有冲突,系统会按照Theme -> 控件各自属性 -> StyleSheetTheme -> CSS来设定页面样式。

只有一个例外: 控件可以通过设定EnableTheming="False" 使Theme的设定无效。当设定无效后,系统会按照 控件各自属性 -> StyleSheetTheme -> CSS来设定页面样式。

 

注:根据Tutorial,一个Theme中可以有多个CSS文件,只要在<head /> 中用<link rel="stylesheet" href="…"/> 来指定使用哪个CSS文件。但是我在使用中发现,如果页面使用了Theme,则指定CSS无效,系统会按照字典顺序使用文件名靠后的那个CSS文件。

 

Skin的引用:

Skin文件中可以指定SkinID,也可以不指定;如果没有指定,则认为似当前Theme中该类型控件的默认Skin,如:

<asp:label runat="server" font-bold="true" forecolor="orange" />

<asp:label runat="server" SkinID="Blue" font-bold="true" forecolor="blue" />

 

如果页面中不指定SkinID,就是使用选中的Theme中的该类型控件的对应的默认Skin;也可以在页面中指定使用哪个Skin,如:

<asp:Label ID="Label1" runat="server" Text="Hello 1" />

<asp:Label ID="Label2" runat="server" Text="Hello 2" SkinID="Blue" />

 

注意:

1) 在同一个Theme中,对于同一种类型的控件,只能有一个默认Skin定义;相似的,同一个Theme中,对于同一种类型的控件,一个SkinID也只能有一个Skin定义

 

2) Skin的文件名对于系统选择Skin没有任何用处,系统只是根据Skin所属的Theme,Skin文件中定义的控件类型,SkinID来选择Skin。所以Skin的划分可以根据控件类型(如:Label, Button等等),也可以根据样式类型(如:Classic, Modern等等),完全似取决于开发者的个人喜好。

 

 

Theme封装模板:

Theme可以用来封装模板,便于一次性替代整个模块。例如使用以下的Skin文件,就可以在页面中只使用一行代码来定义一个完整的登录界面:

<asp:Login ID="Login1" runat="server"/>


Skin文件内容:

None.gif<asp:Login runat="server">
None.gif  
<LayoutTemplate>
None.gif    
<i>Please log in to this site:</i><br /><br />
None.gif    
<table border="0" cellpadding="10" bgcolor="beige">
None.gif      
<tr>
None.gif        
<td>
None.gif          
<asp:Label Font-Bold="true"  AssociatedControlID="UserName" ID="UserNameLabel" runat="server">User Name:</asp:Label>
None.gif          
<br />
None.gif          
<asp:TextBox ID="UserName" runat="server"></asp:TextBox>
None.gif          
<asp:RequiredFieldValidator ControlToValidate="UserName" ErrorMessage="User Name is required."
None.gif            ID
="UserNameRequired" runat="server" ToolTip="User Name is required." ValidationGroup="Login1">*</asp:RequiredFieldValidator>
None.gif      
</tr>
None.gif      
<tr>
None.gif        
<td>
None.gif          
<asp:Label Font-Bold="true" AssociatedControlID="Password" ID="PasswordLabel" runat="server">Password:</asp:Label>
None.gif          
<br />
None.gif          
<asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox>
None.gif          
<asp:RequiredFieldValidator ControlToValidate="Password" ErrorMessage="Password is required."
None.gif            ID
="PasswordRequired" runat="server" ToolTip="Password is required." ValidationGroup="Login1">*</asp:RequiredFieldValidator>
None.gif        
</td>
None.gif      
</tr>
None.gif      
<tr>
None.gif        
<td>
None.gif          
<asp:Button CommandName="Login" ID="LoginButton" runat="server" Text="Log In" ValidationGroup="Login1" />
None.gif        
</td>
None.gif      
</tr>
None.gif    
</table>
None.gif    
<br />
None.gif    
<asp:Literal EnableViewState="False" ID="FailureText" runat="server"></asp:Literal>
None.gif  
</LayoutTemplate>
None.gif
</asp:Login>




但是我认为
ThemeSkin的主要目的在于将页面的样式/布局与页面分开,便于分工,修改;而不是作为Web Control在多个页面中复用的模块,所以应注意使用Theme的封装模板功能。

转载于:https://www.cnblogs.com/cheese/archive/2005/08/26/223668.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464506.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推荐一个值得加入C++开发者俱乐部

之前我有篇文章提起过&#xff0c;开始进入某厂是从0开始做项目的&#xff0c;当时看到那套SDK软件&#xff0c;而且97%都是用C写的&#xff0c;我的头都大了。后面也是坚持不断的学习&#xff0c;积累&#xff0c;修改&#xff0c;向身边同事请教&#xff0c;加入优秀社群学习…

DataGrid 完全攻略之四 (实现统计)

前台代码&#xff1a;html<% Page language"c#" Codebehind"UserCount.aspx.cs" AutoEventWireup"false" Inherits"MsDataGrid.UserCount" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >…

Window系统下安装Redis

下载Redis Redis官网只提供Linux版本&#xff0c;Windows版本只能去GitHub上下载 Redis官网下载地址&#xff1a;http://redis.io/download GitHub下载地址&#xff1a;https://github.com/MSOpenTech/redis/tags 安装Redis 创建redis文件夹&#xff0c;解压到此目录下&#xf…

iTunes“解决方案”发展历程及研究(上)

以下内容来自于我的《iTunes内容解决方案研究》的PPT&#xff0c;懒得往上敲字了&#xff0c;直接以图片的形式发布&#xff0c;有需要的&#xff0c;我可以提供pdf版本给你&#xff0c;版权所有

Linux下的memcpy函数

之前写过一篇关于 memcpy函数面试的文章几个简单的笔试题里面的代码使用的是char指针来实现&#xff0c;今天我们来看看Linux下面的memcpy函数&#xff0c;它的实现上还是有一些巧妙的。void * memcpy(void * dest, const void *src, size_t n) {if (!(((unsigned long) dest ^…

linux命令行抓取网页快照-(xvfb+CutyCapt)

linux命令行抓取网页快照-&#xff08;xvfbCutyCapt&#xff09;又一个 WordPress 博客Browse: Home / 2009 / 十一月 / linux命令行抓取网页快照-&#xff08;xvfbCutyCapt&#xff09;linux命令行抓取网页快照-&#xff08;xvfbCutyCapt&#xff09;By saymoon on 2009年11月…

php过waf木马,一款过waf的一句话木马分析 | CN-SEC 中文网

摘要中午&#xff0c;下班回来&#xff0c;就看一个朋友给我发了几个马儿 让我看看解解密码 很简单中午&#xff0c;下班回来&#xff0c;就看一个朋友给我发了几个马儿 让我看看解解密码 很简单猛不猛我不知道 那时候手机 太长的看着就烦 就回到家瞅瞅了首先我们看这…

你没干什么坏事,你怕什么?

如图我很久就知道深信服这家企业&#xff0c;记得是几年前&#xff0c;我有一个同学跟我说&#xff0c;有一个比较厉害的朋友在这个企业上班&#xff0c;拿到了非常不错的薪水&#xff0c;我如果想去这个公司看看&#xff0c;可以让这位朋友帮忙搭线。后面查这个企业&#xff0…

python用循环打出阶梯图形,matplotlib阶梯图的实现(step())

step函数概述step函数用于绘制阶梯图。根据源码可知&#xff0c;step函数是对plot函数的轻量级封装&#xff0c;很多概念和用法与plot函数非常相似。def step(self, x, y, *args, wherepre, dataNone, **kwargs):cbook._check_in_list((pre, post, mid), wherewhere)kwargs[dra…

嵌入式还有哪些风口值得入?

大家好&#xff0c;我是写代码的篮球球痴前两天发了篇文章说到嵌入式薪资的&#xff0c;很多人想知道目前有哪些不错的行业可以加入&#xff0c;这篇文章罗列了很多风口行业。我相信&#xff0c;半导体芯片会是很重要的方向&#xff0c;但是不管路修得多好&#xff0c;都需要汽…

java 统计单词个数和标点符号

把随机输入的一句话比如:Its only a test!存放在一个char[]的数组中&#xff0c;统计char[]中的单词个数和标点符号的个数。 package com.faintbear; import java.io.*; publicclassTest{ public static void main(String[] args) throws Exception{ BufferedReade…

Luogu 4244 [SHOI2008]仙人掌图

BZOJ 1023 如果我们把所有的环都缩成一个点&#xff0c;那么整张图就变成了一棵树&#xff0c;我们可以直接$dp$算出树的直径。 设$f_x$表示$x$的子树中最长链的长度&#xff0c;那么对于$x$的每一个儿子$y$&#xff0c;先用$f_x f_y 1$更新答案&#xff0c;再用$f_y 1$更新…

outlook 2007 自动答复邮件

outlook 2007自动答复邮件 步骤 1&#xff1a;创建邮件模板 提示 从 Microsoft Office Online 下载正式&#xff08;英文&#xff09;或者非正式&#xff08;英文&#xff09;外出邮件模板。 在“文件”菜单上&#xff0c;指向“新建”&#xff0c;然后单击“邮件”。在“选项…

我的朋友去国外出差回不来了

年前&#xff0c;我一个朋友因为项目调试需要去国外出差&#xff0c;出国的时候好好的&#xff0c;然后飞到当地没几天疫情突然爆发&#xff0c;国内取消了那个国家的航班&#xff0c;然后就直接滞留在当地回不来了。我朋友从事的是硬件开发&#xff0c;包括器件选型、原理图设…

JDBCUtils

1 package database;2 3 import java.sql.Connection;4 import java.sql.DriverManager;5 import java.sql.ResultSet;6 import java.sql.SQLException;7 import java.sql.Statement;8 9 /** 10 * <p> 11 * Description:JDBCUtils工具类 12 * </p> 13 * 14 *…

很不错的Windows 控件 Developer Express Inc.NET

这个是我用 Developer Express Inc.NET 做的小东东&#xff01;很漂亮哦&#xff5e;&#xff01;文件太大了没办法上传&#xff0c;喜欢的可以去 http://www.dnc.com.cn 下载 还有注册机哦&#xff01; 转载于:https://www.cnblogs.com/xnet/archive/2005/12/21/301768.html

助你成为嵌入式高手的100多个软硬件开源项目

大家好&#xff0c;转发一个朋友总结的资料文章&#xff0c;内容如下大家好&#xff0c;我是老温&#xff0c;今天给大家推荐一个嵌入式开源项目汇总的仓库。学习初期最难找的就是找学习资料了&#xff0c;本贴精心汇总了一些嵌入式相关资源&#xff0c;包括但不限于编程语言、…

没有mmu可以跑Linux吗?

为什么需要mmu?我们知道应用程序是不能随意访问内存的&#xff0c;如果让应用程序直接访问物理内存&#xff0c;那么计算机是很危险的&#xff0c;计算机内存的所有内容将被完全暴露出来。所以出现了mmu&#xff0c;mmu是内存管理单元&#xff0c;应用程序访问的是虚拟内存&am…

pC机OracLe库磁盘坏如何恢复,电脑硬盘坏了数据能恢复吗(6步教你自己在家轻松恢复数据)...

电脑硬盘毁坏如何恢复数据有过硬盘损坏经历的用户都知道&#xff0c;硬盘损坏其最严重的结果就是导致其中存储的文件难以读取&#xff0c;包括无法复制&#xff0c;无法移动。通常来说&#xff0c;具体的表现形式是复制文件或者传输文件的时候&#xff0c;耗费很长的时间都无法…

又重新让aspspider.net支持中文PDF输出了

经过一番努力&#xff0c;再次看到中文PDF的输出&#xff1b;aspspider.net经过这次更新后&#xff0c;不知道什么原因&#xff0c;使用BaseFont.AddToResourceSearch(MapPath(".\itextsharpasian\") "iTextAsian-1.0.dll");的方法就是不能把iTextAsian-1.…