ASP.NET 主题和外观

本文介绍ASP.NET中主题和皮肤的应用方法,包括创建主题文件夹、定义皮肤文件及如何在页面中应用主题。同时讲解了不同类型的控件外观、级联样式表的使用,以及如何通过编程方式动态更改页面主题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义

由一元素成:外级联样式表 (CSS)像和其他源。将至少包含外。主是在网站或 Web 器上的特殊目中定的。

文件具有文件展名 .skin,它包含各个控件的属性置。控件外观设似于控件标记本身,但只包含您要作的一部分来置的属性。

有两种类型的控件外 -“已命名外

当向页应用主题时,默动应用于同一型的所有控件。如果控件外没有 SkinID 属性,是默已命名外置了 SkindID属性的控件外

级联样式表

题还可以包含级联样式表(.css 文件)。将 .css 文件放在主文件式表自的一部分加以用。使用文件展名 .css 在主文件中定义样式表。

题图形和其他

题还可以包含形和其他源,例如脚本文件或声音文件。

例子

1、 首先选择网站目名称→右键单击→添加新

2.系会建立一个app_themes文件,并在里面建立一个皮文件sampleTheme,并在里面建立一个皮文件sampleTheme.skin

3.在文件sampleTheme中添加一个Label.skin文件和Calendar.skin文件

4.文件内容如下:

Label.skin

<asp:label runat="server" 
    font-bold="true" 
    forecolor="orange" />
    
<asp:label runat="server" SkinID="Blue" 
    font-bold="true" 
    forecolor="blue" />

 

Calendar.skin:

<asp:Calendar runat="server" 
    BackColor
="#FFFFCC" 
    BorderColor
="#FFCC66" 
    BorderWidth
="1px" 
    DayNameFormat
="FirstLetter" 
    Font-Names
="Verdana" 
    Font-Size
="8pt" 
    ForeColor
="#663399" 
    Height
="200px" 
    ShowGridLines
="True" 
    Width
="220px">
    
    
<SelectedDayStyle BackColor="#CCCCFF" Font-Bold="True" />
    
<SelectorStyle BackColor="#FFCC66" />
    
<OtherMonthDayStyle ForeColor="#CC9966" />
    
<TodayDayStyle BackColor="#FFCC66" ForeColor="White" />
    
<NextPrevStyle Font-Size="9pt" ForeColor="#FFFFCC" />
    
<DayHeaderStyle BackColor="#FFCC66" Font-Bold="True" Height="1px" />
    
<TitleStyle BackColor="#990000" Font-Bold="True" Font-Size="9pt" ForeColor="#FFFFCC" />
</asp:Calendar>

<asp:Calendar SkinID="Simple" runat="server" 
    BackColor
="White" 
    BorderColor
="#999999" 
    CellPadding
="4" 
    DayNameFormat
="FirstLetter" 
    Font-Names
="Verdana" 
    Font-Size
="8pt" 
    ForeColor
="Black" 
    Height
="180px" 
    Width
="200px">
    
    
<SelectedDayStyle BackColor="#666666" Font-Bold="True" ForeColor="White" />
    
<SelectorStyle BackColor="#CCCCCC" />
    
<WeekendDayStyle BackColor="#FFFFCC" />
    
<OtherMonthDayStyle ForeColor="#808080" />
    
<TodayDayStyle BackColor="#CCCCCC" ForeColor="Black" />
    
<NextPrevStyle VerticalAlign="Bottom" />
    
<DayHeaderStyle BackColor="#CCCCCC" Font-Bold="True" Font-Size="7pt" />
    
<TitleStyle BackColor="#999999" BorderColor="Black" Font-Bold="True" />
</asp:Calendar>

 

 

视图中,向 @ Page 指令添加下面的属性:

<%@ Page Theme="sampleTheme" ... %> 

 

在页面中添加2caleder2lable控件

       

 <asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>

        
<asp:Calendar ID="Calendar2" runat="server" SkinID="Simple"></asp:Calendar>

        
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>

        
<asp:Label ID="Label1" runat="server" Text="Label" SkinID="Blue"></asp:Label>

 

运行程序

注意:
1、如果主是通过设 @Page 指令或配置的 <pages/> Theme 属性 (attribute) 用的,中的外属性 (property) 将重写中目控件的同名属性 (property)
2
、通 @Page 指令或配置的 <pages/> StyleSheetTheme 属性的名称,可以将主器端式来用。主属性用作 StyleSheetTheme ,可能被中的控件重写。
3
StyleSheetTheme 用程序开发过程中用,它作中提取式信息的手段,使用程序的行可独立于用程序的外观进维护对应用程序 StyleSheetTheme 后,您可能希望 Theme。如果对应用程序既 Theme StyleSheetTheme按以下用控件的属性:

首先 StyleSheetTheme 属性

中的控件属性(重写 StyleSheetTheme

最后 Theme 属性(重写控件属性和 StyleSheetTheme

4、在皮文件里面可以针对同一个控件置多个皮肤风格,使用skinid来区分不同格,并在aspx面文件的控件中使用skinid来引用不同皮肤风

5.程方式面主

面的 PreInit方法的理程序中,面的 Theme属性。

下面的代示例演示如何根据查询字符串中传递按条件面主

为应用程序指定和禁用主

Protected void Page_PreInit(object sender, EventArgs e)

{

    
switch (Request.QueryString["theme"])

    
{

        
case "Blue":

            
<b>Page.Theme = "BlueTheme";</b>

            
break;

        
case "Pink":

            
<b>Page.Theme = "PinkTheme";</b>

            
break;

    }


}


6.

@ Page 指令的 EnableTheming 属性 false

 <%@ Page EnableTheming="false" %>

 

7.网站用主

用程序中都包括多个面,并且了保谐统一的用界面,我可以所有面使用同一主如果页头置相同的Theme属性,那非常麻了快速地整个用程序的所有置相同的主,可以Web.Config文件的<pages>配置内容。

<configuration> <system.web> <pages theme="sampleTheme" /> </system.web> </configuration>

 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值