操作回顾
所显示的ThemeDefaultaspx页面看起来好像是两种主题同时作用的结果尽管指定了站点的所有页面都应该使用Red Customization主题然而在前面的示例中您在Blue主题中添加了一个CSS文件并设置了一些样式信息同时因为Blue主题被设置为站点的Stylesheet主题而且在Red主题中没有对应的样式信息因此这些样式将得以从Blue主题中提取出来并应用于<body>中的文本和Unstyled label标签控件
该页面的<body>标记内的第一行HTML代码是
Default page<br />
因此这些文件将应用BueStyleSheetcss文件中的body样式
Body
{
Fontfamily:Arial;
}
代码中的下一个内容是Styled label控件该控件的SkinID属性值为textLabel:
<asp:Label ID=Label SkinID=textLabel runat=server Text=Styled label FontBold=True></asp:Label>
由于这个SkinID在两个主题中都存在因此将应用Red主题因为这个主题在Webconfig文件中被设置为Customization主题
<asp:Label SkinId=textLabel runat=server FontNames=Garamond FontSize=pt ForeColor=DarkRed FontBold=False></asp:Label>
下面是Webconfig文件中设置主题的代码
<pages theme=red styleSheetTheme=blue />
记住Theme属性表示Customizaton主题然而在这个示例中指定的Red主题没有SkinID为bigLabel的标签定义所以将使用Blue主题中的样式
<asp:Label ID=Labe SkinID=bigLabel runat=server Text=Unstyled label></asp:Label>
因此页面中的最后一个控件将应用Blue主题中的样式
<asp:Label SkinId=bigLabel runat=server CssClass=bigtext></asp:Label>
最后需要注意的是Label控件仍然是页面的一部分而且因为没有为这个控件指定其他字体信息它还将从Blue主题的CSS文件中继承样式
本章最后一个示例将查看Wrox United应用程序中的主题下面的小节将迅速查看这个应用程序的主题和样式
ASPNET 入门教程完整版
[] [] []