zoukankan      html  css  js  c++  java
  • asp.net 2.0教程 主题和皮肤

    尊重作者,请保留 www.it55.com 链接字样。

    这一节我们联系asp.net 2.0新特性:主题和皮肤。

    主题和皮肤的制作
    新建web网站,在项目上右键“添加ASP.NET文件夹”>>>“主题”,并将默认生成的“主题1”重命名为“blue”:

     

    在blue主题上右键“添加新项”,

    弹出的设置框中选择“外观文件”,并命名为“button.skin”,最后“添加”

    修改button.skin内容如下:

    <%--
    默认的外观模板。以下外观仅作为示例提供。

    1. 命名的控件外观。SkinId 的定义应唯一,因为在同一主题中不允许一个控件类型有重复的 SkinId。

    <asp:GridView runat="server" SkinId="gridviewSkin" BackColor="White" >
       <AlternatingRowStyle BackColor="Blue" />
    </asp:GridView>

    2. 默认外观。未定义 SkinId。在同一主题中每个控件类型只允许有一个默认的控件外观。

    <asp:Image runat="server" ImageUrl="~/images/image1.jpg" />
    --%>
    <asp:Button runat="server" BackColor="LightSteelBlue" BorderStyle="None" ForeColor="Navy" />
    <asp:Button runat="server" BackColor="LightSteelBlue" BorderStyle="Groove" ForeColor="Navy" Text="Button" BorderColor="RoyalBlue" SkinID="withBorder" />

    在blue主题上右键“添加新项”,弹出的设置框中选择“样式表”,并命名为“style.css”,最后“添加”
    style.css内容如下:

    body { text-align:center; background-color:Gray;
    }

    Default.aspx内容:

    <%@ Page Language="C#" AutoEventWireup="true" Theme="blue"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>主题和皮肤</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        整个页面因为应用了blue主题中的style.css,所以内容居中,背景为灰色
        <br />
            <asp:Button ID="Button1" runat="server" Text="Button" /><br />这个按钮没有设置SkinId,就调用默认外观
            <br />
            <br />
            <asp:Button ID="Button2" runat="server" Text="Button" SkinID="withBorder" /><br />这个按钮将根据SkinId调用特定外观
        </div>
        </form>
    </body>
    </html>

    注:如果页面中的控件有自己的样式或外观定义,那么该定义将覆盖主题的定义。运行结果:

    关于主题的应用
    上述在页面头部通过Theme="主题名称"来应用主题的方式是页面级主题应用;应用程序级主题应用方法如下:
    在Web.config文件中配置如下节:
    <configuration>
      <system.web>
        <pages Theme="主题名称" />
      </system.web>
    </configuration>
    注:某个文件夹下的Web.config中的Theme设置将覆盖应用程序的Theme设置.

    关于动态加载主题
    因为page对象的Theme属性只能在页面的PreInit事件发生过程中或者之前进行设置,所以我们必须在Page_PreInit事件处理程序中修改Theme属性值,以达到动态调用主题的目的.
    具体实现方法就不再叙述了,大家可以查看这篇文章:Asp.net 2.0中动态加载主题的两种实现方法

    关于主题和样式的内容的基础内容大概只有这些了,下一节我们将一起学习: asp.net 2.0新特性 站点导航控件

  • 相关阅读:
    OpenGL(九) 三维混色和深度缓存设置
    自由度(degree of freedom)
    自由度(degree of freedom)
    非参贝叶斯(Bayesian Non-parameter)初步
    非参贝叶斯(Bayesian Non-parameter)初步
    一个GCC4.6.3的奇妙问题的糊涂解决方案
    Rational Rose--简介
    android 国际化
    日志文件C++ 时间 文件 行数
    看原理图之UART
  • 原文地址:https://www.cnblogs.com/bk/p/917047.html
Copyright © 2011-2022 走看看