您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何淺析ASP.NET 2.0 Themes特性應用,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
我們將向讀者展示Asp.net 2.0的另一個重要的特性——Themes(主題)。我們的示例代碼任然采用的是Visual Studio 2005中提供的“個人網站初學者工具包”。
Themes(主題)
0.1 ASP.NET 2.0Themes 基本概念
用過論壇的朋友,都知道可以通過選擇論壇的主題來改變論壇的外觀界面,來達到不同的用戶來定制自己喜歡的外觀。而在之前Asp.net的版本中,或者之前的Asp等其他的Web編程語言中來實現這個功能需要寫太多的代碼。在Asp.net 2.0中,只需要簡單的幾句代碼或者說幾個屬性的設置就可以達到這種效果,這就是ASP.NET 2.0 Themes特性!
Themes文件放在asp.net 站點下的App_Themes 目錄下面,與你的程序代碼是分開,所以不用擔心程序員和美工之間花太多的時間溝通。這也是.net的Code behind的精神吧!
我們可以看到在Microsoft的示例代碼中的App_Themes文件夾下面,有兩個themes一個是White、一個是Black。在這個兩個Themes下面還有我們熟悉.CSS和.Skin文件。.Skin文件就是.net 2.0中新增加的一個定義控件樣式的文件。
讀者可以這樣來理解:.CSS是定義html控件樣式,而.Skin是定義服務器端的控件樣式。
我們下面來看如何定義White下面的Default.Skin文件。
1〈asp:imagebuttonrunat="server"Imageurl=" Images/button-login.gif"skinid="login"/〉 2 3〈asp:imagerunat="server"Imageurl=" Images/button-create.gif"skinid="create"/〉 4〈asp:imagerunat="server"ImageUrl=" Images/button-download.gif"skinid="download"/〉 5〈asp:imagerunat="Server"ImageUrl=" images/button-dwn_res.gif"skinid="dwn_res"/〉 6 7〈asp:imagerunat="Server"ImageUrl=" images/button-gallery.jpg"skinid="gallery"/〉 8〈asp:imagebuttonrunat="server"imageurl=" Images/button-tog8.jpg"skinid="tog8"/〉 9〈asp:imagebuttonrunat="server"imageurl=" Images/button-tog24.jpg"skinid="tog24"/〉 10 11〈asp:ImageButtonrunat="server"ImageUrl=" Images/button-first.jpg"skinid="first"/〉 12〈asp:ImageButtonrunat="server"ImageUrl=" images/button-prev.jpg"skinid="prev"/〉 13〈asp:ImageButtonrunat="server"ImageUrl=" images/button-next.jpg"skinid="next"/〉 14〈asp:ImageButtonrunat="server"ImageUrl=" Images/button-last.jpg"skinid="last"/〉 15 16〈asp:imagerunat="Server"ImageUrl=" images/album-l1.gif"skinid="b01"/〉 17〈asp:imagerunat="Server"ImageUrl=" images/album-mtl.gif"skinid="b02"/〉 18〈asp:imagerunat="Server"ImageUrl=" images/album-mtr.gif"skinid="b03"/〉 19〈asp:imagerunat="Server"ImageUrl=" images/album-r1.gif"skinid="b04"/〉 20〈asp:imagerunat="Server"ImageUrl=" images/album-l2.gif"skinid="b05"/〉 21〈asp:imagerunat="Server"ImageUrl=" images/album-r2.gif"skinid="b06"/〉 22〈asp:imagerunat="Server"ImageUrl=" images/album-l3.gif"skinid="b07"/〉 23〈asp:imagerunat="Server"ImageUrl=" images/album-r3.gif"skinid="b08"/〉 24〈asp:imagerunat="Server"ImageUrl=" images/album-l4.gif"skinid="b09"/〉 25〈asp:imagerunat="Server"ImageUrl=" images/album-mbl.gif"skinid="b10"/〉 26〈asp:imagerunat="Server"ImageUrl=" images/album-mbr.gif"skinid="b11"/〉 27〈asp:imagerunat="Server"ImageUrl=" images/album-r4.gif"skinid="b12"/〉 28 29 30〈asp:ImageButtonRunat="server"ImageUrl=" images/button-add.gif"skinid="add"/〉 31 32〈asp:gridviewrunat="server"backcolor="#606060"〉 33〈AlternatingRowStylebackcolor="#656565"/〉 34〈/asp:gridview〉 35〈asp:imagerunat="Server"ImageUrl=" Images/button-edit.gif"skinid="edit"/〉 36〈asp:ImageButtonRunat="server"ImageUrl=" Images/button-rename.gif"SkinID="rename"/〉 37〈asp:ImageButtonRunat="server"ImageUrl=" Images/button-delete.gif"SkinID="delete"/〉 38〈asp:ImageButtonRunat="server"ImageUrl=" Images/button-save.gif"SkinID="save"/〉 39〈asp:ImageButtonRunat="server"ImageUrl=" Images/button-cancel.gif"SkinID="cancel"/〉
在上面的代碼中的屬性和控件的屬性意思相同,我們就不一一介紹了。在這里要提到的是“SkinID”。讀者希望應用哪個Skin的話,只需要設置控件的SkinID與.Skin文件中的SkinID的名字相同即可。
0.2 如何創建ASP.NET 2.0 Themes中的.Skin文件
讀者自己創建master page 時,只需要點Project ,右鍵選擇“添加新項”,選擇外觀文件,就可以添加一個.Skin文件了。如果在你的程序文件中沒有App_Themes文件,當讀者添加該文件的時候,系統自動會增加這個目錄,并且把新增的文件放在該目錄下。
創建.Skin文件
0.3 使用Themes
如何使用Themes 是讀者最關心的問題。下面我們來介紹如何在程序中應用你已經創建好了的Themes。在前臺有兩種方式來應用Themes。
1、即在Page或者Master指令中通過Themes屬性來設置讀者需要應用的Themes的名稱(其實通過設置StyleSheetTheme屬性也是可以達到效果的,它們之間的差異我們在后面再講)。
2、通過在設置Web.Config中的配置也可以達到效果的。(示例代碼是采用該種方式)
它們的生成順序是:
1、Web.config中的設置
2、指令中的設置(將覆蓋Web.config中的設置)
我們先看如何在Page或者Master指令中設置,其實很簡單:
〈%@ Page Language="C#" MasterPageFile= "~/Default.master" Title="此處是您的姓名 | 主頁" CodeFile="Default.aspx.cs" Inherits="Default_aspx" Theme="Black"%〉
該頁面就會應用Black下面的設置了。
〈pages Theme="black"/〉
上面為在Web.config中設置Themes。但是該句必須放在
前面我們講到的都是在配置層面如何應用Themes。在代碼層面其實也很簡單:
1this.Page.Theme = ""; 2this.Page.StyleSheetTheme = "";
我們來看一下控件應用style屬性的順序:
1、StyleSheetTheme引用的樣式
2、代碼設定的控件屬性(將覆蓋StyleSheetTheme)
3、Theme引用的樣式(將覆蓋前面2個)
我們可以看到應用Themes是如此的容易,而且程序員與美工之間不需要復雜的溝通了。下面是我們的示例代碼使用White和Black產生的不同的效果圖:
使用White的效果
使用Black的效果
很簡單的修改了Thems的配置,我們仿佛得到了兩個不同的站點。
關于如何淺析ASP.NET 2.0 Themes特性應用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。