主題(theme)用於定義站點的外觀類似於使用CSS設置頁面的樣式然而與CSS不同的是主題可以指定服務器端元素例如TreeView控件在浏覽器上顯示時的外觀記住服務器控件必須轉換為標准的HTML而且如果浏覽器理解在頁面上如何呈現JavaScript的話還可能會有一些JavaScript腳本在浏覽器請求頁面時一個設置了主題的服務器控件將轉換為帶有style屬性的相關客戶端元素
一個主題在創建好之後有兩種使用方式可以將它用作Stylesheet主題其行為類似於一個普通的CSS樣式表另一種方式是將它用作Customization主題這將改變您習慣使用的樣式選取規則因為Custornizaton主題將指定用於每個元素的樣式覆蓋在單獨的樣式表中指定的所有樣式或者甚至覆蓋元素的style屬性中指定的樣式
無論以哪種方式使用主題創建它的基本技術都是一樣的另外可以選擇在整個站點中使用一個主題也可以為每個頁面指定一個主題
創建主題
創建一個主題的過程包括創建一個skin文件該文件定義了頁面上每個元素的外觀以及將這個皮膚文件放置到一個文件夾中這個文件夾的名稱就是所創建的主題的名稱所有的主題都保存在一個名為App_Themes的應用程序文件夾中下面是一個皮膚文件示例
<asp:Calendar runat=server FontNames=Century Gothic FontSize=Small>
<OtherMonthDayStyle BackColor=Lavender />
<DayStyle ForeColor=MidnightBlue />
<TitleStyle BackColor=LightSteelBlue />
</asp:Calendar>
<asp:TreeView runat=server ExpandDepth= FontNames=Century Gothic BorderColor=LightSteelBlue BorderStyle=Solid >
<SelectedNodeStyle FontBold=True ForeColor=SteelBlue />
<RootNodeStyle FontBold=True />
<NodeStyle ForeColor=MidnightBlue />
<LeafNodeStyle FontSize=Smaller />
<HoverNodeStyle ForeColor=SteelBlue />
</asp:TreeView>
<asp:Label SkinId=textLabel runat=server FontNames=Century Gothic FontSize=pt ForeColor=MidnightBlue FontBold=False></asp:Label>
<asp:Label SkinId=bigLabel runat=server CssClass=bigtext></asp:Label>
<asp:ImageButton SkinId=homeImage runat=server ImageUrl=~/platypusgif />
這個文件包含了為種類型的元素所作的定義這個文件中的ASPNET TreeView控件和Calenda控件定義了站點上的每個日歷控件和樹型視圖控件的外觀注意這些控件沒有ID屬性──這是所有皮膚文件的一個特點每個帶有皮膚文件的元素都沒有ID在運行的時候如果將這個主題指定為頁面的默認主題而該頁面上包含一個Calendar控件那麼這個控件將自動繼承在這個文件中定義的樣式
ASPNET 入門教程完整版
[] [] []
From:http://tw.wingwit.com/Article/program/net/201311/15240.html