modernsky2003

ASP.NET 2.0中轻松实现网站换肤


  查看个人网站
  查看详细资料
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head id="Head1" runat="server">
  <title>Page with Example Theme Applied</title>
  </head>
  <body>
  <form id="form1" runat="server">
  <asp
  
  abel ID="Label1" runat="server" Text="Hello 1" /><br />
  <asp
  
  abel ID="Label2" runat="server" Text="Hello 2" /><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文件中修改<%@ Page Theme="..." %>,比如你想这个页面应用default2 theme,设置<%@ Page Theme="default2" %>就OK
  2、在所有页面应用同1个Theme:
  如果要在所有页面上使用相同的Theme,在web.config中的<system.web>节点下加上句<pages theme="..."/>
  3、让控件不应用Theme:
  第1个例子中我们看到了2个Label的风格都变了,就是说.skin文件中的风格在页面上所有Label都起作用了。但有时我们希望某1个Label不应用.skin中的风格,这时你只需设置Label的EnableTheming属性为false的时候就可以了。
  也许你还想不同的label显示不同的风格,你只需设置label的SkinID属性就可以,见下面的实例:
  App_Themes\default\1.skin
  <asp:label runat="server" font-bold="true" forecolor="Red" />
  <asp:label runat="server" SkinID="Blue" font-bold="true" forecolor="blue" />
  deafult.aspx
  <%@ Page Language="C#" Theme="default" %>
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head id="Head1" runat="server">
  <title>Page with Example Theme Applied</title>
  </head>
  <body>
  <form id="form1" runat="server">
  <asp:Label ID="Label2" runat="server" Text="Hello 2" SkinID="Blue" /><br />
  <asp:Label ID="Label3" runat="server" Text="Hello 3" /><br />
  </form>
  </body>
  </html>
  运行后就会发现2个label显示的风格不一样了。
  4、其他方法:
  前面已经说了在aspx文件头使用 <%@ Page Theme="..." %> 来使用theme,而用这个方法应用theme中的风格将会覆盖你写在aspx中的控件属性style。比如:
  App_Themes\default\1.skin
  <asp:Label Font-Bold="true" ForeColor="Red" runat="server" />
  default.aspx
  <%@ Page Language="C#" Theme="default" %>
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

posted on 2008-05-27 16:00  hekeneng  阅读(177)  评论(0编辑  收藏  举报

导航