炫浪网首页 | 加入收藏夹 登录 | 注册
logo
网站导航: 炫浪首页游戏频道女性风采科技学院精品素材桌面壁纸BT影视网络社区健康生活
热门栏目: 炫友贴图编程开发硬件学堂博客空间游戏攻略游戏资源时尚女性美容护肤教程下载
炫浪(科技.学院)
 | 网站首页 | 系统软件 | 图形图像 | 编程开发 | 网络应用 | 硬件学堂 | 办公应用 | 〖图书馆〗 | 
  您现在的位置: 炫浪学院 >> 编程开发 >> 网页制作 >> Asp.net >> 正文

ASP.NET定义主题和外观

炫浪 科技.学院 时间:2007-12-11 16:48:56 来源:炫浪 发表评论 社区讨论

 定义

  主题由一组元素组成:外观、级联样式表 (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" ... %>

 

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


      

 <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>

  • 上一篇文章:

  • 下一篇文章:
  • 发 表 评 论
    姓 名: 主 页:
    评 分: 1分 2分 3分 4分 5分
    内 容:
    频 道 推 荐

    优秀程序员的两大要

    信息时代如何成为一

    如何成为一名C++程序

    Java程序员认证模拟

    高级程序员级考试大

    初级程序员级考试大
    最 新 热 门
    相 关 文 章
    新.Net开发必备工具详解之Snippet 
    在DNN 4.X中自定义登录界面
    .net开发:如何为程式码加上行号
    While deploying... 错误的解决办法
    aspx页面作为模板引擎的一种实现
    字符串和十六进制之间的转换方法
    如何使用ASP.Net加密Cookie
    使用ASP.Net中的自定义控件
    Configuration类在网页实现web.con
    ASP.Net MVC框架配置与分析
    相 关 新 贴
    广 告 展 示

    炫浪网 业务、广告:web#xvna.com (请将#换成@) 业务广告QQ 业务广告QQ2
    Copyright @ 2006-2007 All Right Reserved (主域名 xvna.com 粤ICP备07040110号)
    【声明】本网站部分内容属社区网友发布,本网站仅提供网友交流平台,但有权在本网站范围内引用、发布、转载来自论坛网友发布的内容。网友发布内容纯属个人行为,与本网站立场无关。本网站对于论坛网友发布的内容所引发的版权、署名权的异议及纠纷,不承担任何责任。其他媒体转载须事先与原作者和本网站联系。