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);
}


浙公网安备 33010602011771号