网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > DotNet > ASP.NET > ASP.NET定义主题和外观  

ASP.NET定义主题和外观

2007-08-14  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  

  定义

  主题由一组元素组成:外观、级联样式表 (CSS)、图像和其他资源。主题将至少包含外观。主题是在网站或 Web 服务器上的特殊目录中定义的。 网管网www_bitscn_com

  外观

网管u家u.bitsCN.com

  外观文件具有文件扩展名 .skin,它包含各个控件的属性设置。控件外观设置类似于控件标记本身,但只包含您要作为主题的一部分来设置的属性。 网管u家u.bitscn@com

  有两种类型的控件外观 -“默认外观”和“已命名外观”:

网管下载dl.bitscn.com

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

网管网www_bitscn_com

  级联样式表 网管论坛bbs_bitsCN_com

  主题还可以包含级联样式表(。css 文件)。将 .css 文件放在主题文件夹中时,样式表自动作为主题的一部分加以应用。使用文件扩展名 .css 在主题文件夹中定义样式表。 网管网www_bitscn_com

  主题图形和其他资源 中国网管联盟bitsCN.com

  主题还可以包含图形和其他资源,例如脚本文件或声音文件。 中国网管论坛bbs.bitsCN.com

  例子 网管u家u.bitsCN.com

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

网管网www_bitscn_com

  2.系统会建立一个app_themes文件夹,并在里面建立一个皮肤文件夹sampleTheme,并在里面建立一个皮肤文件sampleTheme.skin. 网管论坛bbs_bitsCN_com

  3.在皮肤文件夹sampleTheme中添加一个Label.skin文件和Calendar.skin文件。

网管网www_bitscn_com

  4.文件内容如下:

网管网www_bitscn_com

  Label.skin 网管联盟bitsCN_com

网管网www_bitscn_com

中国网管联盟bitsCN.com

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

网管u家u.bitscn@com


    font-bold="true" 
    forecolor
="blue" />

中国网管论坛bbs.bitsCN.com

  网管网www.bitscn.com

  Calendar.skin: 网管bitscn_com

中国网管联盟bitsCN.com

网管联盟bitsCN_com

<asp:Calendar runat="server" 
    BackColor
="#FFFFCC" 
    BorderColor
="#FFCC66" 
    BorderWidth
="1px" 

网管u家u.bitscn@com


    DayNameFormat="FirstLetter" 
    Font-Names
="Verdana" 
    Font-Size
="8pt" 
    ForeColor
="#663399" 
    Height
="200px" 
    ShowGridLines
="True" 
    Width
="220px">
    
    
<SelectedDayStyle BackColor="#CCCCFF" Font-Bold="True" />

中国网管论坛bbs.bitsCN.com


    
<SelectorStyle BackColor="#FFCC66" />
    
<OtherMonthDayStyle ForeColor="#CC9966" />
    
<TodayDayStyle BackColor="#FFCC66" ForeColor="White" />

网管u家u.bitscn@com


    
<NextPrevStyle Font-Size="9pt" ForeColor="#FFFFCC" />
    
<DayHeaderStyle BackColor="#FFCC66" Font-Bold="True" Height="1px" /> 网管下载dl.bitscn.com
    
<TitleStyle BackColor="#990000" Font-Bold="True" Font-Size="9pt" ForeColor="#FFFFCC" />
</asp:Calendar>

<asp:Calendar SkinID="Simple" runat="server"  中国网管论坛bbs.bitsCN.com
    BackColor
="White" 
    BorderColor
="#999999" 
    CellPadding
="4" 
    DayNameFormat
="FirstLetter" 
    Font-Names
="Verdana" 
    Font-Size
="8pt" 
    ForeColor
="Black" 
    Height
="180px" 
网管联盟bitsCN@com

    Width
="200px">
    
    
<SelectedDayStyle BackColor="#666666" Font-Bold="True" ForeColor="White" />
    
<SelectorStyle BackColor="#CCCCCC" /> 网管bitscn_com
    
<WeekendDayStyle BackColor="#FFFFCC" />
    
<OtherMonthDayStyle ForeColor="#808080" />
    
<TodayDayStyle BackColor="#CCCCCC" ForeColor="Black" />

网管联盟bitsCN@com


    
<NextPrevStyle VerticalAlign="Bottom" />
    
<DayHeaderStyle BackColor="#CCCCCC" Font-Bold="True" Font-Size="7pt" />
    
<TitleStyle BackColor="#999999" BorderColor="Black" Font-Bold="True" /> 网管网www.bitscn.com
</asp:Calendar>
网管联盟bitsCN@com

  网管u家u.bitscn@com

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

网管u家u.bitsCN.com

网管下载dl.bitscn.com

网管联盟bitsCN_com

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

网管u家u.bitsCN.com

  中国网管联盟bitsCN.com

  在页面中添加2个caleder和2个lable控件

网管u家u.bitsCN.com

网管u家u.bitsCN.com

       

网管u家u.bitscn@com

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

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

中国网管论坛bbs.bitsCN.com


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

        
<asp:Label ID="Label1" runat="server" Text="Label" SkinID="Blue"></asp:Label>
网管论坛bbs_bitsCN_com

网管下载dl.bitscn.com

  中国网管论坛bbs.bitsCN.com

  运行程序 网管bitscn_com

  注意:

网管u家u.bitscn@com

  1、如果主题是通过设置 @Page 指令或配置的 <pages/> 节的 Theme 属性 (attribute) 应用的,则主题中的外观属性 (property) 将重写页中目标控件的同名属性 (property)。

网管u家u.bitscn@com

  2、通过将 @Page 指令或配置的 <pages/> 节的 StyleSheetTheme 属性设置为主题的名称,可以将主题定义作为服务器端样式来应用。主题属性用作 StyleSheetTheme 时,可能被页中的控件重写。 网管论坛bbs_bitsCN_com

  3、 StyleSheetTheme 应在应用程序开发过程中应用,它作为从页中提取样式信息的手段,使应用程序的行为可独立于应用程序的外观进行维护。对应用程序应用 StyleSheetTheme 后,您可能还希望应用 Theme.如果对应用程序既应用 Theme 又应用 StyleSheetTheme,则按以下顺序应用控件的属性: 网管网www.bitscn.com

  首先应用 StyleSheetTheme 属性

网管u家u.bitscn@com

  应用页中的控件属性(重写 StyleSheetTheme) 中国网管联盟bitsCN.com

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

网管论坛bbs_bitsCN_com

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

网管u家u.bitsCN.com

  5.以编程方式应用页面主题 中国网管联盟bitsCN.com

  在页面的 PreInit方法的处理程序中,设置页面的 Theme属性。

网管bitscn_com

  下面的代码示例演示如何根据查询字符串中传递的值按条件设置页面主题。 网管bitscn_com

  为应用程序指定和禁用主题 中国网管论坛bbs.bitsCN.com

中国网管论坛bbs.bitsCN.com

Protected void Page_PreInit(object sender, EventArgs e)

{ 中国网管论坛bbs.bitsCN.com

    
switch (Request.QueryString["theme"])

    
{ 中国网管论坛bbs.bitsCN.com

        
case "Blue":

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

网管网www_bitscn_com


            break;

        
case "Pink":

            
<b>Page.Theme = "PinkTheme";</b> 网管联盟bitsCN_com

            
break;

    }


}


网管论坛bbs_bitsCN_com

  6.

网管网www.bitscn.com

  将 @ Page 指令的 EnableTheming 属性设置为 false,

网管网www_bitscn_com

网管bitscn_com

网管u家u.bitsCN.com

 <%@ Page EnableTheming="false" %> 网管网www.bitscn.com

  网管bitscn_com

  7.对网站应用主题 网管下载dl.bitscn.com

  每个应用程序中都包括多个页面,并且为了保证和谐统一的用户界面,我们可以让所有页面使用同一主题。如果为在每个页头都设置相同的Theme属性值,那么非常麻烦。为了快速地为整个应用程序的所有页面设置相同的主题,可以设置Web.Config文件的<pages>配置节内容。 中国网管论坛bbs.bitsCN.com

中国网管论坛bbs.bitsCN.com

网管网www.bitscn.com

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

网管u家u.bitscn@com


TAGs   外观   主题   定义   属性   应用   控件   文件   设置   BackColor      
 上一篇:ASP.NET自动给URL加上超链接   下一篇:没有了
ASP.NET定义主题和外观 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: