ASP.Net 2.0 學習之主題和樣式

     ASP.Net 2.0 的主題文件(*.Skin)都是放在App_Themes目錄下,在頁面上設計好服務器端控件的樣式后,把去除了ID的代碼拷貝入skin文件即可完成主題文件的建立,如果skin文件中的樣式沒有SkinId,則此樣式將應用于界面上所有的此類控件,反之只用于有此SkinId的控件。另外,如果界面某個服務器控件上設置了SkinId,而主題中雖然有此控件的樣式,但沒有定義相應的SkinId,則界面上控件只顯示默認的樣式,而不會使用主題中的樣式。

     頁面上Theme和StyleSheetTheme都可關聯主題文件。區別在于優先級的關系,Theme > 控件內CSS > StyleSheetTheme。

     如果頁面引用了外部CSS文件,控件本身可在CssClass屬性中設置相關的CSS的類,或者在Skin文件中的控件樣式里添加CssClass屬性,并在頁面的控件中使用SkinId相關聯。這兩種方法的結果是相同的。

     舉例:
          <asp:Label ID="Label1" CssClass="LableStyle" runat="server" Text="Label"></asp:Label> 
          或者 
          <asp:Label ID="Label1" SkinID="LableSkin" runat="server" Text="Label"></asp:Label>
          skin 文件中的代碼為 
          <asp:Label SkinId="LableSkin" cssClass="LableStyle" runat="server" Text="Label"></asp:Label>

 

     頁面動態加載主題,則要寫在 OnPreInit 的方法中

protected override void OnPreInit(EventArgs e)
        
{
            
this.Theme = "DefSkin";

            
base.OnPreInit(e);
        }
posted @ 2008-09-25 00:04  變色龍  阅读(316)  评论(0)    收藏  举报