[引]VS2005 主题(Theme)和外观(skin)帮助文档:如何应用 ASP.NET 主题

A.对网站应用主题
B.对单个页应用主题
C.对控件应用外观
D.禁用页的主题
E.禁用控件的主题
F.配置特定文件和子目录
===================
您可以对页或网站应用主题,或对全局应用主题。
在网站级设置主题会对站点上的所有页和控件应用样式和外观,
除非对个别页重写主题。
在页面级设置主题会对该页及其所有控件应用样式和外观。
默认情况下,主题重写本地控件设置。
或者,您可以设置一个主题作为样式表主题,
以便该主题将仅应用于未在控件上显式设置的控件设置。

A.对网站应用主题
----------------
1.在应用程序的 Web.config 文件中,
  将 <pages> 元素设置为全局主题或页面主题的主题名称,
  如下面的示例所示:
  <configuration>
    <system.web>
        <pages theme="ThemeName" />
    </system.web>
  </configuration>
  注意
  如果应用程序主题与全局应用程序主题同名,则页面主题优先。

2.要将主题设置为样式表主题并作为本地控件设置的从属设置,
  应改为设置 StyleSheetTheme 属性:
  <configuration>
    <system.web>
        <pages StyleSheetTheme="Themename" />
    </system.web>
  </configuration>

  Web.config 文件中的主题设置会应用于该应用程序中的所有 ASP.NET 网页。
  Web.config 文件中的主题设置遵循常规的配置层次结构约定。
  例如,要仅对一部分页应用某主题,
  可以将这些页与它们自己的 Web.config 文件放在一个文件夹中,
  或者在根 Web.config 文件中创建一个 <location> 元素以指定文件夹。
  详细见小节F.配置特定文件和子目录
 
B.对单个页应用主题
------------------
将 @ Page 指令的 Theme 或 StyleSheetTheme 属性
设置为要使用的主题的名称,
如下面的示例所示:
<%@ Page Theme="ThemeName" %>
<%@ Page StyleSheetTheme="ThemeName" %>
现在,该主题及其对应的样式和外观仅应用于声明它的页。

C.对控件应用外观
----------------
主题中定义的外观应用于已应用该主题的应用程序或页中的所有控件实例。
在某些情况下,您可能希望对单个控件应用一组特定属性。
这可以通过创建命名外观(.skin 文件中设置了 SkinID 属性的一项),
然后按 ID 将它应用于各个控件来实现。
设置控件的 SkinID 属性,如下面的示例所示:
<asp:Calendar runat="server" ID="DatePicker" SkinID="SmallCalendar" />
如果页面主题不包括与 SkinID 属性匹配的控件外观,
则控件使用该控件类型的默认外观。

D.禁用页的主题
--------------
  将 @ Page 指令的 EnableTheming 属性设置为 false,
  如下例所示:
  <%@ Page EnableTheming="false" %>

E.禁用控件的主题
----------------
  将控件的 EnableTheming 属性设置为 false,
  如下例所示:
  <asp:Calendar id="Calendar1" runat="server" EnableTheming="false" />

F.配置特定文件和子目录
-----------------------
通过使用具有适当的 path 属性的 <location> 标记,
可以将配置设置应用于特定的资源。
path 属性可用于标识要应用唯一配置设置的特定文件或子目录。
在 path 属性中只能使用一个文件路径。
path 属性可以从指示应用程序根目录的“~/”快捷方式开头。

例如,下面的示例配置文件在三个级别指定设置:
应用于当前目录和所有子目录的设置
   (全部内容包含在顶部 <configuration> 标记中)。
应用于 Sub1 子目录的设置
   (全部内容都包含在路径属性设置为 Sub1 的 <location> 标记中)。
应用于 Sub2 子目录的设置
   (全部内容都包含在路径属性设置为 Sub2 的 <location> 标记中)。

<configuration>
  <system.web>
    <sessionState cookieless="true" timeout="10"/>
  </system.web>
        
  <!-- Configuration for the "sub1" subdirectory. -->
  <location path="sub1">
    <system.web>
      <httpHandlers>
        <add verb="*" path="sub1" type="Type1"/>
        <add verb="*" path="sub1" type="Type2"/>
      </httpHandlers>
    </system.web>
  </location>
  
  <!-- Configuration for the "sub1/sub2" subdirectory. -->
  <location path="sub1/sub2">
    <system.web>
      <httpHandlers>
        <add verb="*" path="sub1/sub2" type="Type3"/>
        <add verb="*" path="sub1/sub2" type="Type4"/>
      </httpHandlers>
    </system.web>
  </location>
</configuration>

 

posted on 2007-01-20 13:07  freeliver54  阅读(1463)  评论(0编辑  收藏  举报

导航