ASP.NET 2.0中轻松实现网站换肤
|
源代码网整理以下一、简介: 源代码网整理以下 利用Themes我们可以很容易的更改控件、页面的风格,而不需要修改我们的代码和页面文件。Themes文件被单独的放在1个App_Themes文件夹下面,与你的程序是完全分开的。 源代码网整理以下 二、怎么使用Themes和Skins: 源代码网整理以下 先看个非常简单的实例: 源代码网整理以下App_Themesdefault1.skin文件代码: 源代码网整理以下<asp:Label Font-Bold="true" ForeColor="Red" runat="server" /> 源代码网整理以下 default.aspx:文件代码: 软件开发网 www.mscto.com
源代码网整理以下<%@ Page Language="C#" Theme="default" %> 软件开发网 www.mscto.com 源代码网整理以下 源代码网整理以下App_Themes文件夹: 源代码网整理以下也许你还想不同的label显示不同的风格,你只需设置label的SkinID属性就可以,见下面的实例: 源代码网整理以下App_Themesdefault1.skin 源代码网整理以下<asp:label runat="server" font-bold="true" forecolor="Red" /> 软件开发网 www.mscto.com
源代码网整理以下deafult.aspx 源代码网整理以下<%@ Page Language="C#" Theme="default" %> 源代码网整理以下 运行后就会发现2个label显示的风格不一样了。 源代码网整理以下 4、其他方法: 源代码网整理以下 前面已经说了在aspx文件头使用 <%@ Page Theme="..." %> 来使用theme,而用这个方法应用theme中的风格将会覆盖你写在aspx中的控件属性style。比如: 源代码网整理以下 App_Themesdefault1.skin 源代码网整理以下<asp:Label Font-Bold="true" ForeColor="Red" runat="server" /> 源代码网整理以下 default.aspx 源代码网整理以下<%@ Page Language="C#" Theme="default" %> 软件开发网 www.mscto.com
源代码网整理以下<html xmlns="http://www.w3.org/1999/xhtml"> 源代码网整理以下 运行结果,所有的label的forecolor都为red。 源代码网整理以下 而使用<%@ Page StyleSheetTheme="..." %>应用theme就不会覆盖你在aspx文件中写的属性style: 源代码网整理以下 控件应用style属性的顺序如下: 软件开发网 www.mscto.com 源代码网整理以下 a、StyleSheetTheme引用的风格 源代码网整理以下 b、代码设定的控件属性(覆盖StyleSheetTheme) 源代码网整理以下 c、Theme引用的风格(覆盖前面2个) 源代码网整理以下 theme中包含CSS: 源代码网整理以下 theme中也可以使用.css文件,当你把.css文件放在1个theme目录下后,在用到了这个theme的页面中自动会应用你的.css的 软件开发网 www.mscto.com 源代码网整理以下 三、后台代码轻松为网站换府肤 源代码网整理以下 前面讲的都是在aspx文件或web.config中应用theme,而在blog这样的每个用户都有不同的skin的网站中用上面的方法来实现换skin显然是不方便的。 软件开发网 www.mscto.com 源代码网整理以下 下面就介绍怎么在后台代码中动态的引用theme来解决上面的情况,theme必须在page被请求的最早期就应用上,所以我们必须在Page_PreInit事件中写代码,代码很简单,就1句: 源代码网整理以下Page.Theme = "..."; 源代码网整理以下 这里我们只要从数据库中去读取每个用户设置的不同theme名就可以轻松实现每个用户都有不同的skin了。 源代码网整理以下 源代码网推荐 源代码网供稿. |

