主題和皮膚

 

主題和皮膚

主題類似於層疊樣式表(CSS),因爲它們都可以爲Web頁面定義各種樣式。但主題比CSS更進一步,它允許給應用程序的頁面應用樣式、圖像甚至CSS文件,可以在應用程序、頁面或服務器控件級別上應用ASP.NET中的主題。

創建主題:

一、  創建外觀文件

1.在項目中添加App_Themes文件夾

2.在App_Themes文件夾下添加主題文件夾

1)可以有多個主題

3.在主題文件下添加外觀文件(.skin)

1)在.skin外觀文件中可以定義Web服務器控件的外觀,定義的樣式類似aspx頁面中的控件的標籤,只是去除“id”等非外觀屬性。(可以在頁面中設置好控件樣式,將設置好的標籤複製到.skin外觀文件中,再將非外觀屬性刪除即可)

2)外觀樣式的定義可以添加屬性skinid,如<asp:TextBox skinid="myinput" bordercolor="red" ....../>

3)添加了skinid的外觀叫做已命名外觀,未添加的叫默認外觀。默認外觀會應用於所有未指定skinid屬性的控件。而已命名外觀只應用於指定了skinid屬性的控件。

4)外觀的定義中,必須包含runat=“server"的屬性。

二、  爲主題添加CSS樣式

1)可以在主題目錄下添加CSS樣式表文件,在將主題應用與頁面時,CSS樣式將自動被引入aspx頁面。

2)注意css樣式的定義中,先定義的樣式先應用到頁面,後定義的樣式後應用與頁面。一些樣式會改變前面的樣式,應確保樣式的定義順序正確。

3)如果css中定義的樣式和外觀定義的樣式不一致,將優先使用外觀樣式。

應用主題:

1.禁用主題

1)用主題(.skin)使用Page指令的EnableTheming屬性指定頁面是否使用主題(.skin)。

2)使用控件的EnableTheming屬性指定特定控件是否使。

 

2.動態加載主題

   必須在頁面上靜態控件的Page_PreInit事件觸發之前設置Page屬性的主題。如果使用動態控件,就應在把該控件添加到Controls集合中之前,設置Theme屬性。同樣在設置控件的skinid屬性時,也需要遵循同樣的規則。

 

 

發佈了38 篇原創文章 · 獲贊 4 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章