主题和皮肤10bet备用网址官网:
分类:多线程

  • 主题和皮肤-介绍
  • 主题和皮肤-皮肤
  • 主题和皮肤-Theme 和 StyleSheetTheme
  • 主题和皮肤-EnableTheming
  • 主题和皮肤-在配置文件中引用
  • 主题和皮肤-动态加载主题
  • 主题和皮肤-介绍
  • 主题和皮肤-皮肤
  • 主题和皮肤-Theme 和 StyleSheetTheme
  • 主题和皮肤-EnableTheming
  • 主题和皮肤-在配置文件中引用
  • 主题和皮肤-动态加载主题
  • 主题和皮肤-介绍
  • 主题和皮肤-皮肤
  • 主题和皮肤-Theme 和 StyleSheetTheme
  • 主题和皮肤-EnableTheming
  • 主题和皮肤-在配置文件中引用
  • 主题和皮肤-动态加载主题
  • 主题和皮肤-介绍
  • 主题和皮肤-皮肤
  • 主题和皮肤-Theme 和 StyleSheetTheme
  • 主题和皮肤-EnableTheming
  • 主题和皮肤-在配置文件中引用
  • 主题和皮肤-动态加载主题




在 web.config 配置文件中可以为所有网页指定默认的主题文件。

动态加载主题需要在 Init 事件触发之前。

先讲皮肤便于更好地理解主题的应用。

XHTML 标准要求内容和样式分离,主张样式由样式表来表示,这是非常好的标准,但某些情况下样式表也无能为力,比如改变图片(不是背景图片),而在 ASP.NET 中使用主题和皮肤强大的功能就能很好地实现网页“换肤”。

示例如下:

<script runat="server">
    protected override void OnPreInit(EventArgs e)
    {
        Page.Theme = "SkinFile";
        
        base.OnPreInit(e);
    }
</script>

  • 在站点的 App_Themes 下创建一个文件夹,比如:BlueSky,用于存储这一个主题的资源。
  • 然后再在 BlueSky 中加入一个皮肤文件,比如:SkinFile.skin。
  • 主题是根目录下 App_Themes 文件夹即是主题文件夹;
  • 可以在 App_Themes 下再建子文件夹,分别存储各种主题;
  • 各个主题文件夹下面,可以包含 .skin 文件、.css 文件、图片文件、XML 文件、脚本文件以及子文件夹等。

<configuration>
  <system.web>
    <pages theme="BlueSky">

但我们不能这样设置 StyleSheetTheme。

SkinFile.skin 内容如下:

上述 .skin 文件即是皮肤文件,也就是说主题包括皮肤,之所以把皮肤文件和主题文件提在一起说,是因为主题中的其它技术如 .css 文件、图片文件、XML 文件等都不是 ASP.NET 特有的技术,而皮肤文件是 ASP.NET 特有的具有强大功能的技术,所以需要特别介绍。

theme 也可以是 styleSheetTheme。

  • 主题和皮肤-介绍
  • 主题和皮肤-皮肤
  • 主题和皮肤-Theme 和 StyleSheetTheme
  • 主题和皮肤-EnableTheming
  • 主题和皮肤-在配置文件中引用
  • 主题和皮肤-动态加载主题

<asp:ListBox runat="server" width="100"></asp:Listbox>
<asp:ListBox runat="server" SkinId="lb" width="200"></asp:Listbox>

  • 主题和皮肤-介绍
  • 主题和皮肤-皮肤
  • 主题和皮肤-Theme 和 StyleSheetTheme
  • 主题和皮肤-EnableTheming
  • 主题和皮肤-在配置文件中引用
  • 主题和皮肤-动态加载主题
  • 主题和皮肤-介绍
  • 主题和皮肤-皮肤
  • 主题和皮肤-Theme 和 StyleSheetTheme
  • 主题和皮肤-EnableTheming
  • 主题和皮肤-在配置文件中引用
  • 主题和皮肤-动态加载主题

可以看到皮肤文件的内容和 .aspx 文件中的控件内容差不多,实际上控件在这里除了 ID 属性,其它大多数属性都可以使用。注意,runat="server" 不能少。



  • 可以看到第二行代码比第一行代码多了一个 SkinId="lb",也就是说第一行作用于所有的 ListBox(第一行为 ListBox 的默认皮肤),而第二行只作用于指定了 SkinId 为 lb 的 ListBox。
  • SkinId 必须唯一吗?只是在同一类控件中必须唯一,比如皮肤文件中一个 ListBox 的 SkinId 为 lb,一个 GridView 的 SkinId 也可以为 Id。
  • 皮肤文件的文件名称并不重要,因为引用时只需要指定主题文件夹名称,比如这里的 BlueSky,而不需要指定皮肤文件的文件名,ASP.NET 会自动查找皮肤文件。
  • 允许一个主题中有多个皮肤文件,但各个皮肤文件中的内容不应该冲突,比如皮肤文件 A 指定了 ListBox 的默认皮肤,该主题中的其它皮肤文件就不能再为 Listbox 指定默认皮肤了。
  • 由于控件的大多数属性都可以在皮肤文件中使用,所以功能就比样式表强大了,比如 <asp:Image runat="server" SkinId="go" ImageUrl="~/App_Themes/BlueSky/images/go.gif" /> 就指定了图片的地址,而样式表只能指定背景图片地址。

相关阅读

  • ASP.NET 中怎么使用 ~/

  • 主题和皮肤-介绍

  • 主题和皮肤-皮肤
  • 主题和皮肤-Theme 和 StyleSheetTheme
  • 主题和皮肤-EnableTheming
  • 主题和皮肤-在配置文件中引用
  • 主题和皮肤-动态加载主题

本文由10bet手机官网发布于多线程,转载请注明出处:主题和皮肤10bet备用网址官网:

上一篇:一篇文章带你借助GOOGLE,纽约时报 下一篇:主题和皮肤
猜你喜欢
热门排行
精彩图文