您可以在服務器控件中指定CssClass,並且您的ASP.NET頁面將生成該控件的樣式屬性。爲什麼我們已經有CSS時需要ASP.NET主題?
您也可以在ASP.NET頁面中指定外部CSS文件,就像在普通HTML頁面中一樣。
您也可以在ASP.NET頁面標題部分中編寫標籤,就像您使用普通HTML頁面一樣。
那麼爲什麼ASP.NET主題是必需的?
您可以在服務器控件中指定CssClass,並且您的ASP.NET頁面將生成該控件的樣式屬性。爲什麼我們已經有CSS時需要ASP.NET主題?
您也可以在ASP.NET頁面中指定外部CSS文件,就像在普通HTML頁面中一樣。
您也可以在ASP.NET頁面標題部分中編寫標籤,就像您使用普通HTML頁面一樣。
那麼爲什麼ASP.NET主題是必需的?
不要將ASP.NET主題與ASP.NET皮膚混淆。我已經在這裏解釋了它們:
ASP.NET中的主題系統不與CSS競爭,而是一個系統,旨在讓用戶更容易地選擇應用於該網站的樣式表。
這個想法是你要創建一個「BoringBlue.css」樣式表和相關的圖形,然後做一些改變並創建一個名爲「HotPink.css」的新圖形。而不是完成工作來生成啓用或禁用頁面樣式的標記。ASP.NET主題將爲您完成這一繁重工作。但是,ASP.NET Web Forms Web控件最初是在IE6愛上微軟的時候製作的(當時他們假裝Firefox並不存在,所以這是在2004 - 2005年左右),所以它們不會沉重使用CSS,很多控件都會呈現表現屬性,如bgcolor
。 「ASP.NET皮膚」是一種控制WebControls的顏色和其他表示設置的方法(注意,不是HtmlControls)。除了CSS樣式表,ASP.NET主題還爲您提供了一種選擇應用哪個ASP.NET外觀的方法。
請注意,在ASP.NET MVC下,主題和外觀已經完全過時,因爲框架不再呈現任何複雜的標記,從而將完全控制權交還給開發人員。最後,沒有更多的噱頭 - 我沒有真的遇到過「讓用戶設置顏色方案」 - 網站,因爲人們在2007年左右停止使用phpNuke。