ASP.NET 主題(Themes)FAQ

1、主題是什么

?? 主題由一組元素組成:外觀、級聯樣式表 (CSS)、圖像和其他資源。主題將至少包含外觀。主題是在網站或 Web 服務器上的特殊目錄中定義的。主題是一組Web Control的屬性設置的集合,提供一種簡單的方法設置控件的樣式屬性。

  • 主題只在Web Control中有效
  • 母板頁(Master Page)上不能設置主題,但是主題可以在內容頁面上設置
  • 主題上設置的Web Control的樣式覆蓋頁面上設置的樣式
  • 如果在頁面上設置EnableTheming="false",主題無效
  • 要在頁面中動態設置主題,必須在頁面生命周期Page_Preinit事件之前
  • 主題包括.skin和.css文件

2、.skin是什么文件

.skin是外觀文件,它包含各個控件(例如,Button、Label、TextBox 或 Calendar 控件)的屬性設置。控件外觀設置類似于控件標記本身,但只包含您要作為主題的一部分來設置的屬性。例如,下面是 Button 控件的控件外觀:

<asp:button runat="server" BackColor="lightblue" ForeColor="black" />

在 theme 文件夾中創建 .skin 文件。一個 .skin 文件可以包含一個或多個控件類型的一個或多個控件外觀。可以為每個控件在單獨的文件中定義外觀,也可以在一個文件中定義所有主題的外觀。有兩種類型的控件外觀 -“默認外觀”和“已命名外觀”:

  • 當向頁應用主題時,默認外觀自動應用于同一類型的所有控件。如果控件外觀沒有 SkinID 屬性,則是默認外觀。例如,如果為 Calendar 控件創建一個默認外觀,則該控件外觀適用于使用本主題的頁面上的所有 Calendar 控件。(默認外觀嚴格按控件類型來匹配,因此 Button 控件外觀適用于所有 Button 控件,但不適用于 LinkButton 控件或從 Button 對象派生的控件。)
  • 已命名外觀是設置了 SkinID 屬性的控件外觀。已命名外觀不會自動按類型應用于控件。而應當通過設置控件的 SkinID 屬性將已命名外觀顯式應用于控件。通過創建已命名外觀,可以為應用程序中同一控件的不同實例設置不同的外觀。

3、如何為相同控件定義不同的Skin

??? 使用SkinID為控件定義不同的skin,例如

<asp:Label?runat=server Text="ThemedLabel" BackColor="Red" /> -label的缺省外觀??? ??????<asp:Label?runat=server?SkinId="BoldLabel"?Text="ThemedLabel_WithSkinId" BackColor="Blue" Font-Bold="true"?/> -?命名為BoldLabel 的Label外觀

?? 因此頁面沒有指定SkinId的label自動應用缺省外觀,Label的SkinID設置為BoldLabel的Label控件應用BoldLabel外觀

4、如何組織主題文件內容

?? Theme文件下可以包含多個.Skin文件,所以可以多種方式組織你的主題文件,所有的主題文件在應用于頁面之前會合并。

  • 一個.skin文件包含所有的控件的外觀定義
  • 每個控件一個.skin文件
  • 相同SkinID的控件放在一個.skin文件中

5、有沒有辦法定義好的Theme文件在多個程序中共享

服務器上的任何網站以及任何網站中的任何頁面都可以引用全局主題,使用全局的主題可以在各個應用程序之間共享,例如你想創建一個全局共享的主題theme1。IIS 服務器上的全局主題放置位置類似于 \Inetpub\wwwroot\aspnet_client\system_web\v2.0.xxxxx\Themes\Theme1

應用程序級別的主題會覆蓋全局的主題,例如你在應用程序中也定義了Theme1的主題,那么在應用程序級的Theme1主題將覆蓋全局的主題Theme1

6、StyleSheetTheme是什么

?? 主題還可以包含級聯樣式表(.css 文件)。將 .css 文件放在主題目錄中時,樣式表自動作為主題的一部分應用。使用文件擴展名 .css 在主題文件夾中定義樣式表。設置頁面的 StyleSheetTheme 屬性將主題作為樣式表主題來應用。如果您希望能夠設置頁面上的各個控件的屬性,同時仍然對整體外觀應用主題,則可以將主題作為樣式表主題來應用。EnableTheming="false"情況下StyleSheetTheme仍然有效。通過重寫屬性StyleSheetTheme來動態修改頁面上的主題樣式

?public override string StyleSheetTheme
?{
?? ?get{ retrun "MyStyleSheetTheme"; }
?}

7、主題(Theme/Skin)資源

一組相當不錯的Theme,可以直接應用的項目開發中

??? Theme預覽:http://www.dotnettreats.com/SampleThemes/Default.aspx
?? ?Theme下載:http://www.dotnettreats.com/tools/Default.aspx

作者: 自由、創新、研究、探索……
出處:http://shanyou.cnblogs.com/
版權:本文版權歸作者和博客園共有
轉載:歡迎轉載,為了保存作者的創作熱情,請按要求【轉載】,謝謝
要求:未經作者同意,必須保留此段聲明;必須在文章中給出原文連接;否則必究法律責任

分享到QQ微博


轉載于:https://www.cnblogs.com/muyoushui/archive/2011/04/14/2015699.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/378526.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378526.shtml
英文地址,請注明出處:http://en.pswp.cn/news/378526.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Head First HTML與CSS、XHTML++筆記(第四章 WEB鎮之旅 第五章 認識媒體)

第四章 鏈接&#xff08;詳解<a>元素&#xff09; 目標錨 在目標位置 <h2><a id"chai">contentTest</a></h2> 在需要鏈接位置 <a href"index.html#chai">See</a> 鏈接到自身的目標錨 <a href"#top"…

Opencv實戰【4】——圖片動漫化處理

博主聯系方式&#xff1a; QQ:1540984562 微信&#xff1a;wxid_nz49532kbh9u22 QQ交流群&#xff1a;750313950 目錄動漫化風格的特點處理手段代碼實現效果總結動漫化風格的特點 &#xff08;1&#xff09;動漫中的細節相對少&#xff1b; &#xff08;2&#xff09;動漫中的邊…

nextshort_Java掃描儀的nextShort()方法與示例

nextshort掃描器類的nextShort()方法 (Scanner Class nextShort() method) Syntax: 句法&#xff1a; public short nextShort();public short nextShort(int rad);nextShort() method is available in java.util package. nextShort()方法在java.util包中可用。 nextShort() …

php 生成css文件怎么打開,php生成html文件的多種步驟介紹

//定義日期函數functiongetdatetime(){$datetimegetdate();$strReturn$datetime["year"]."-";$strReturn$strReturn.$datetime["mon"]."-";$strReturn$strReturn.$datetime["mday"];return$strReturn;}//定義時間函數(文件名…

08-KNN手寫數字識別

標簽下載地址 文件內容備注train-images-idx3-ubyte.gz訓練集圖片&#xff1a;55000張訓練圖片&#xff0c;5000張驗證圖片train-labels-idx1-ubyte.gz訓練集圖片對應的數字標簽t10k-images-idx3-ubyte.gz測試集圖片&#xff1a;10000張圖片t表示test&#xff0c;測試圖片&…

MFC odbc訪問遠程數據庫

首先&#xff0c;MFC通過ODBC訪問數據庫&#xff0c;主要使用兩個類&#xff0c;一個是CDataBase&#xff0c;一個是CRecordset。第一個是用于建立數據庫連接的&#xff0c;第二個是數據集&#xff0c;用來查詢的。步驟如下&#xff1a;1.實例化一個CDataBase對象&#xff0c;并…

微機原理——擴展存儲器設計

目錄【1】存儲器的層次結構【2】存儲器的分類【3】SRAM1、基本原理&#xff1a;2、結構&#xff1a;3、芯片參數與引腳解讀&#xff1a;4、CPU與SRAM的連接方式【4】DRAM1、基本原理&#xff1a;2、結構3、芯片引腳解讀&#xff1a;【5】存儲器系統設計【6】存儲器擴展設計&…

floatvalue 重寫_Java Number floatValue()方法與示例

floatvalue 重寫Number類floatValue()方法 (Number Class floatValue() method) floatValue() method is available in java.lang package. floatValue()方法在java.lang包中可用。 floatValue() method is used to return the value denoted by this Number object converted …

array_column php什么版本可以用,array_column兼容php5.5以下版本

gistfile1.txt// ----------------------------------------------------------------------// |獲取二維數組中指定的一列&#xff0c;PHP5.5以后有專用函數array_column()// ----------------------------------------------------------------------// |param array $arr// …

。net學習之控件的使用注意點

jQuery使用 1、自定義屬性的使用<script>$(#xwjj_i_main br[brinfoPd_KangQiao_Subject_Xwjj_br_1]).hide();</script> 2、ready代碼塊$(document).ready(function(){ //你的代碼}); 3、簡單的特效hide&#xff08;&#xff09;$("a").click(function()…

09-CNN手寫數字識別

CNN卷積神經網絡的本質就是卷積運算 維度的調整&#xff1a; tf.reshape(imageInput,[-1,28,28,1]) imageInput為[None,784]&#xff0c;N行* 784維 調整為 M28行28列*1通道 即&#xff1a;二維轉化為四維數據 參數一&#xff1a;等價于運算結果M 參數二&#xff1a;28 28 表示…

【轉】左值與右值

出處&#xff1a;http://www.embedded.com/electronics-blogs/programming-pointers/4023341/Lvalues-and-Rvalues C and C enforce subtle differences on the expressions to the left and right of the assignment operator If youve been programming in either C or C for…

Opencv將處理后的視頻保存出現的問題

問題描述&#xff1a; 代碼運行過程中&#xff0c;imshow出來的每幀的效果圖是正確的&#xff0c;但是按照網上的方法保存下來卻是0kb&#xff0c;打開不了。 參考的網上的一些方法&#xff0c;均是失敗的&#xff0c;具體原因我也不清楚&#xff1a; 1、例如我這樣設置&#x…

Java Number shortValue()方法與示例

Number類shortValue()方法 (Number Class shortValue() method) shortValue() method is available in java.lang package. shortValue()方法在java.lang包中可用。 shortValue() method is used to return the value denoted by this Number object converted to type short (…

MATLAB可以打開gms文件嗎,gms文件擴展名,gms文件怎么打開?

.gms文件類型&#xff1a;Gesture and Motion Signal File擴展名為.gms的文件是一個數據文件。文件說明&#xff1a;Low-level, binary, minimal but generic format used to organize and store Gesture and Motion Signals in a flexible and optimized way; gesture-related…

黑白圖片顏色反轉并保存

將圖像的黑白顏色反轉并保存 import cv2 # opencv讀取圖像 img cv2.imread(rE:\Python-workspace\OpenCV\OpenCV/YY.png, 1) cv2.imshow(img, img) img_shape img.shape # 圖像大小(565, 650, 3) print(img_shape) h img_shape[0] w img_shape[1] # 彩色圖像轉換為灰度圖…

家貓WEB系統

現在只放源碼在些.為它寫應用很簡單有空整理文檔演示地址:jiamaocode.com/os/ 源碼&#xff1a;http://jiamaocode.com/ProCts/2011/04/14/1918/1918.html轉載于:https://www.cnblogs.com/jiamao/archive/2011/04/16/2018339.html

C# DataRow數組轉換為DataTable

public DataTable ToDataTable(DataRow[] rows) { if (rows null || rows.Length 0) return null; DataTable tmp rows[0].Table.Clone(); // 復制DataRow的表結構 foreach (DataRow row in rows) tmp.Rows.Add(row); // 將DataRow添加…

plesk 運行不了php,如何在Plesk中使用composer(使用其他版本的PHP運行Composer)

對于基于Plesk的服務器, composer的默認安裝將使用系統安裝的PHP版本, 而不使用Plesk所安裝的任何版本。盡管Composer至少需要PHP 5.3.2, 但是當你嘗試在需要特定版本PHP的項目中安裝依賴項時, 就會出現問題。例如, 如果你有一個至少需要PHP 7.2的項目, 并且系統的默認PHP安裝是…

Java Calendar hashCode()方法與示例

日歷類hashCode()方法 (Calendar Class hashCode() method) hashCode() method is available in java.util package. hashCode()方法在java.util包中可用。 hashCode() method is used to retrieve the hash code value of this Calendar. hashCode()方法用于檢索此Calendar的哈…