介紹
使用 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" />