|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
其实Java之所以在曾经独步天下,就是因为他的跨平台、安全性,这两方面,效率可不是Java的强项,反而是他最短的一块挡板,虽然net总是用理论证明比.NET快。asp.net大概有些伴侣还不是很分明themes、skins。上面先先容下themes、skins.。
1、简介:
一看Themes、Skins这2名字就都晓得是用来做甚么的了吧,上面就说下它是做甚么的(怎样都晓得了还说,~_~),使用Themes我们能够很简单的变动控件、页面的作风,而不必要修正我们的代码和页面文件。
Themes文件被独自的放在1个App_Themes文件夹上面,与你的程序是完整分隔的。
2、怎样利用Themes和Skins:
先看个十分复杂的实例:
App_Themesdefault1.skin文件代码:
<asp:LabelFont-Bold="true"ForeColor="Red"runat="server"/>
default.aspx:文件代码:
<%@PageLanguage="C#"Theme="default"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headid="Head1"runat="server">
<title>PagewithExampleThemeApplied</title>
</head>
<body>
<formid="form1"runat="server">
<asp:LabelID="Label1"runat="server"Text="Hello1"/><br/>
<asp:LabelID="Label2"runat="server"Text="Hello2"/><br/>
</form>
</body>
</html>
能够看到我们在default.aspx并没有写怎样的把持style的代码,但运转取发明label上的字都酿成了粗体白色了,这就是1个最基础的theme例子。
App_Themes文件夹:
App_Themes文件夹位于程序的根目次下,App_Themes下必需是Theme称号的子文件夹,子文件夹中能够包括多个.skin和.CSS文件。下图中创建2个Theme,称号分离为default和default2:
利用themes
1、在1个页面中使用Theme:
假如想在某1个页面中使用Theme,间接在aspx文件中修正<%@PageTheme="..."%>,好比你想这个页面使用default2theme,设置<%@PageTheme="default2"%>就OK
2、在一切页面使用同1个Theme:
假如要在一切页面上利用不异的Theme,在web.config中的<system.web>节点下加上句<pagestheme="..."/>
3、让控件不该用Theme:
第1个例子中我们看到了2个Label的作风都变了,就是说.skin文件中的作风在页面上一切Label都起感化了。但偶然我们但愿某1个Label不该用.skin中的作风,这时候你只需设置Label的EnableTheming属性为false的时分就能够了。
大概你还想分歧的label显现分歧的作风,你只需设置label的SkinID属性就能够,见上面的实例:
App_Themesdefault1.skin
<asp:labelrunat="server"font-bold="true"forecolor="Red"/>
<asp:labelrunat="server"SkinID="Blue"font-bold="true"forecolor="blue"/>
deafult.aspx
<%@PageLanguage="C#"Theme="default"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headid="Head1"runat="server">
<title>PagewithExampleThemeApplied</title>
</head>
<body>
<formid="form1"runat="server">
<asp:LabelID="Label2"runat="server"Text="Hello2"SkinID="Blue"/><br/>
<asp:LabelID="Label3"runat="server"Text="Hello3"/><br/>
</form>
</body>
</html>
运转后就会发明2个label显现的作风纷歧样了。
4、其他办法:
后面已说了在aspx文件头利用<%@PageTheme="..."%>来利用theme,而用这个办法使用theme中的作风将会掩盖你写在aspx中的控件属性style。好比:
App_Themesdefault1.skin
<asp:LabelFont-Bold="true"ForeColor="Red"runat="server"/>
default.aspx
<%@PageLanguage="C#"Theme="default"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headid="Head1"runat="server">
</head>
<body>
<formid="form1"runat="server">
<asp:LabelID="Label1"runat="server"Text="Hello1"/><br/>
<asp:LabelID="Label2"runat="server"Text="Hello2"ForeColor="blue"/>
</form>
</body>
</html>
运转了局,一切的label的forecolor都为red。
而利用<%@PageStyleSheetTheme="..."%>使用theme就不会掩盖你在aspx文件中写的属性style:
控件使用style属性的按次以下:
a、StyleSheetTheme援用的作风
b、代码设定的控件属性(掩盖StyleSheetTheme)
c、Theme援用的作风(掩盖后面2个)
theme中包括CSS:
theme中也能够利用.css文件,当你把.css文件放在1个theme目次下后,在用到了这个theme的页面中主动会使用你的.css的
3、背景代码轻松为网站换府肤
后面讲的都是在aspx文件或web.config中使用theme,而在blog如许的每一个用户都有分歧的skin的网站顶用下面的办法来完成换skin明显是不便利的。
上面就先容怎样在背景代码中静态的援用theme来办理下面的情形,theme必需在page被哀求的最初期就使用上,以是我们必需在Page_PreInit事务中写代码,代码很复杂,就1句:
Page.Theme="...";
这里我们只需从数据库中往读取每一个用户设置的分歧theme名就能够轻松完成每一个用户都有分歧的skin了。
------------------------------------------
以上都是团体的意见和体味,若有不当处,还请人人多多指导,感谢!
听03很多师兄说主讲老师杭城方讲课很差就连旁听也没有去了) |
|