偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

ASP.NET 2.0 Themes特性應(yīng)用淺析

開(kāi)發(fā) 后端
本文通過(guò)創(chuàng)建.Skin文件可以得到White的效果和Black的效果。為讀者展示了ASP.NET 2.0 Themes特性的基本概念和實(shí)力。

在該章節(jié)中我們將向讀者展示Asp.net 2.0的另一個(gè)重要的特性——Themes(主題)。我們的示例代碼任然采用的是Visual Studio 2005中提供的“個(gè)人網(wǎng)站初學(xué)者工具包”。如果讀者不知道如何創(chuàng)建請(qǐng)參閱前面一節(jié)《Master Page銳利體驗(yàn)》。

2. Themes(主題)

2.1 ASP.NET 2.0Themes 基本概念

用過(guò)論壇的朋友,都知道可以通過(guò)選擇論壇的主題來(lái)改變論壇的外觀界面,來(lái)達(dá)到不同的用戶來(lái)定制自己喜歡的外觀。而在之前Asp.net的版本中,或者之前的Asp等其他的Web編程語(yǔ)言中來(lái)實(shí)現(xiàn)這個(gè)功能需要寫太多的代碼。在Asp.net 2.0中,只需要簡(jiǎn)單的幾句代碼或者說(shuō)幾個(gè)屬性的設(shè)置就可以達(dá)到這種效果,這就是ASP.NET 2.0 Themes特性!

Themes文件放在asp.net 站點(diǎn)下的App_Themes 目錄下面,與你的程序代碼是分開(kāi),所以不用擔(dān)心程序員和美工之間花太多的時(shí)間溝通。這也是.net的Code behind的精神吧!

我們可以看到在Microsoft的示例代碼中的App_Themes文件夾下面,有兩個(gè)themes一個(gè)是White、一個(gè)是Black。在這個(gè)兩個(gè)Themes下面還有我們熟悉.CSS和.Skin文件。.Skin文件就是.net 2.0中新增加的一個(gè)定義控件樣式的文件。

讀者可以這樣來(lái)理解:.CSS是定義html控件樣式,而.Skin是定義服務(wù)器端的控件樣式。

我們下面來(lái)看如何定義White下面的Default.Skin文件。

  1. 1〈asp:imagebuttonrunat="server"Imageurl="  
  2. Images/button-login.gif"skinid="login"/〉  
  3. 2  
  4. 3〈asp:imagerunat="server"Imageurl="  
  5. Images/button-create.gif"skinid="create"/〉  
  6. 4〈asp:imagerunat="server"ImageUrl="  
  7. Images/button-download.gif"skinid="download"/〉  
  8. 5〈asp:imagerunat="Server"ImageUrl="  
  9. images/button-dwn_res.gif"skinid="dwn_res"/〉  
  10. 6  
  11. 7〈asp:imagerunat="Server"ImageUrl="  
  12. images/button-gallery.jpg"skinid="gallery"/〉  
  13. 8〈asp:imagebuttonrunat="server"imageurl="  
  14. Images/button-tog8.jpg"skinid="tog8"/〉  
  15. 9〈asp:imagebuttonrunat="server"imageurl="  
  16. Images/button-tog24.jpg"skinid="tog24"/〉  
  17. 10  
  18. 11〈asp:ImageButtonrunat="server"ImageUrl="  
  19. Images/button-first.jpg"skinid="first"/〉  
  20. 12〈asp:ImageButtonrunat="server"ImageUrl="  
  21. images/button-prev.jpg"skinid="prev"/〉  
  22. 13〈asp:ImageButtonrunat="server"ImageUrl="  
  23. images/button-next.jpg"skinid="next"/〉  
  24. 14〈asp:ImageButtonrunat="server"ImageUrl="  
  25. Images/button-last.jpg"skinid="last"/〉  
  26. 15  
  27. 16〈asp:imagerunat="Server"ImageUrl="  
  28. images/album-l1.gif"skinid="b01"/〉  
  29. 17〈asp:imagerunat="Server"ImageUrl="  
  30. images/album-mtl.gif"skinid="b02"/〉  
  31. 18〈asp:imagerunat="Server"ImageUrl="  
  32. images/album-mtr.gif"skinid="b03"/〉  
  33. 19〈asp:imagerunat="Server"ImageUrl="  
  34. images/album-r1.gif"skinid="b04"/〉  
  35. 20〈asp:imagerunat="Server"ImageUrl="  
  36. images/album-l2.gif"skinid="b05"/〉  
  37. 21〈asp:imagerunat="Server"ImageUrl="  
  38. images/album-r2.gif"skinid="b06"/〉  
  39. 22〈asp:imagerunat="Server"ImageUrl="  
  40. images/album-l3.gif"skinid="b07"/〉  
  41. 23〈asp:imagerunat="Server"ImageUrl="  
  42. images/album-r3.gif"skinid="b08"/〉  
  43. 24〈asp:imagerunat="Server"ImageUrl="  
  44. images/album-l4.gif"skinid="b09"/〉  
  45. 25〈asp:imagerunat="Server"ImageUrl="  
  46. images/album-mbl.gif"skinid="b10"/〉  
  47. 26〈asp:imagerunat="Server"ImageUrl="  
  48. images/album-mbr.gif"skinid="b11"/〉  
  49. 27〈asp:imagerunat="Server"ImageUrl="  
  50. images/album-r4.gif"skinid="b12"/〉  
  51. 28  
  52. 29  
  53. 30〈asp:ImageButtonRunat="server"ImageUrl="  
  54. images/button-add.gif"skinid="add"/〉  
  55. 31  
  56. 32〈asp:gridviewrunat="server"backcolor="#606060"〉  
  57. 33〈AlternatingRowStylebackcolor="#656565"/〉  
  58. 34〈/asp:gridview〉  
  59. 35〈asp:imagerunat="Server"ImageUrl="  
  60. Images/button-edit.gif"skinid="edit"/〉  
  61. 36〈asp:ImageButtonRunat="server"ImageUrl="  
  62. Images/button-rename.gif"SkinID="rename"/〉  
  63. 37〈asp:ImageButtonRunat="server"ImageUrl="  
  64. Images/button-delete.gif"SkinID="delete"/〉  
  65. 38〈asp:ImageButtonRunat="server"ImageUrl="  
  66. Images/button-save.gif"SkinID="save"/〉  
  67. 39〈asp:ImageButtonRunat="server"ImageUrl="  
  68. Images/button-cancel.gif"SkinID="cancel"/〉 

在上面的代碼中的屬性和控件的屬性意思相同,我們就不一一介紹了。在這里要提到的是“SkinID”。讀者希望應(yīng)用哪個(gè)Skin的話,只需要設(shè)置控件的SkinID與.Skin文件中的SkinID的名字相同即可。

#p#

2.2 如何創(chuàng)建ASP.NET 2.0 Themes中的.Skin文件

讀者自己創(chuàng)建master page 時(shí),只需要點(diǎn)Project ,右鍵選擇“添加新項(xiàng)”,選擇外觀文件,就可以添加一個(gè).Skin文件了。如果在你的程序文件中沒(méi)有App_Themes文件,當(dāng)讀者添加該文件的時(shí)候,系統(tǒng)自動(dòng)會(huì)增加這個(gè)目錄,并且把新增的文件放在該目錄下。

創(chuàng)建.Skin文件
創(chuàng)建.Skin文件

2.3 使用Themes

如何使用Themes 是讀者最關(guān)心的問(wèn)題。下面我們來(lái)介紹如何在程序中應(yīng)用你已經(jīng)創(chuàng)建好了的Themes。在前臺(tái)有兩種方式來(lái)應(yīng)用Themes。

1、即在Page或者M(jìn)aster指令中通過(guò)Themes屬性來(lái)設(shè)置讀者需要應(yīng)用的Themes的名稱(其實(shí)通過(guò)設(shè)置StyleSheetTheme屬性也是可以達(dá)到效果的,它們之間的差異我們?cè)诤竺嬖僦v)。

2、通過(guò)在設(shè)置Web.Config中的配置也可以達(dá)到效果的。(示例代碼是采用該種方式)

它們的生成順序是:

1、Web.config中的設(shè)置

2、指令中的設(shè)置(將覆蓋Web.config中的設(shè)置)

我們先看如何在Page或者M(jìn)aster指令中設(shè)置,其實(shí)很簡(jiǎn)單:

  1. 〈%@ Page Language="C#" MasterPageFile=  
  2. "~/Default.master" Title="此處是您的姓名 | 主頁(yè)" 
  3.  
  4. CodeFile="Default.aspx.cs"   
  5. Inherits="Default_aspx"   Theme="Black"%〉  

該頁(yè)面就會(huì)應(yīng)用Black下面的設(shè)置了。

  1. 〈pages Theme="black"/〉  

上面為在Web.config中設(shè)置Themes。但是該句必須放在配置節(jié)中。 但是,我們?cè)谑褂玫臅r(shí)候發(fā)現(xiàn)沒(méi)有辦法修改控件的樣式了。這是怎么會(huì)事呢?要如何設(shè)置才能達(dá)到,既能應(yīng)用Themes又能有一些訂制呢?這就是我們前面說(shuō)到的,使用StyleSheetTheme來(lái)設(shè)置Themes的話,讀者就可以,自己訂制一些自己的需要的樣式了。

前面我們講到的都是在配置層面如何應(yīng)用Themes。在代碼層面其實(shí)也很簡(jiǎn)單:

  1. 1this.Page.Theme = "";  
  2. 2this.Page.StyleSheetTheme = "";  

我們來(lái)看一下控件應(yīng)用style屬性的順序:

1、StyleSheetTheme引用的樣式

2、代碼設(shè)定的控件屬性(將覆蓋StyleSheetTheme)

3、Theme引用的樣式(將覆蓋前面2個(gè))

我們可以看到應(yīng)用Themes是如此的容易,而且程序員與美工之間不需要復(fù)雜的溝通了。下面是我們的示例代碼使用White和Black產(chǎn)生的不同的效果圖:

使用White產(chǎn)生的效果
使用White的效果

使用Black的效果
使用Black的效果

很簡(jiǎn)單的修改了Thems的配置,我們仿佛得到了兩個(gè)不同的站點(diǎn)。

2.4 結(jié)束語(yǔ)

上面我們?yōu)樽x者展示了如何使用.net 2.0中的一個(gè)重要的新特性:Themes。讀者可以很容易的就得到論壇或者blog的效果了。

【編輯推薦】

  1. ASP.NET環(huán)境下的Shell函數(shù)
  2. 在ASP.NET中向數(shù)據(jù)庫(kù)批量插入數(shù)據(jù)
  3. ASP.NET用Post方式向網(wǎng)頁(yè)發(fā)送數(shù)據(jù)
  4. ASP.NET 2.0部署WEB應(yīng)用程序淺析
  5. ASP.NET中的HttpWorkerRequest對(duì)像
  6. 介紹ASP.NET MVC框架
責(zé)任編輯:冰荷 來(lái)源: 51CTO.com
相關(guān)推薦

2009-07-30 15:17:16

ASP.NET 2.0

2009-07-30 14:55:43

ASP.NET 2.0

2009-07-20 16:08:04

ASP.NET應(yīng)用程序

2009-08-05 15:01:04

ASP.NET應(yīng)用Vi

2009-07-20 16:03:14

ASP.NET 2.0

2009-08-05 18:36:12

ASP.NET Che

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 15:50:13

ASP.NET優(yōu)點(diǎn)

2009-07-31 12:43:59

ASP.NET MVC

2009-07-23 14:25:03

ASP.NET 2.0

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設(shè)計(jì)

2009-07-31 09:32:04

ASP.NET緩存概念ASP.NET緩存應(yīng)用

2009-07-29 09:34:54

IsPostBack屬ASP.NET

2009-08-04 17:16:16

ASP.NET代碼優(yōu)化

2009-08-05 16:17:29

ASP.NET For

2009-08-05 16:50:09

ASP.NET For

2009-07-24 18:02:46

ASP.NET編程

2009-08-05 16:53:14

ASP.NET組件設(shè)計(jì)

2009-08-10 14:55:43

ASP.NET htt

2009-08-03 10:07:20

ASP.NET Ses
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)