主题





0/5 (0投票)
Asp.net 2.0 引入了一个名为主题的新特性。主题是一组属性设置的集合,允许您定义页面和
Asp.net 2.0 引入了一个名为主题的新特性。主题是一组属性设置的集合,允许您定义页面和控件的外观,然后在 Web 应用程序中的页面、整个 Web 应用程序或服务器上的所有 Web 应用程序中一致地应用该外观。
主题由一组元素组成:皮肤、级联样式表 (CSS)、图像和其他资源。皮肤提供了在服务器端对控件应用样式的能力。通过为皮肤提供 SkinID,可以将该皮肤应用于与皮肤类型和 SkinID 匹配的控件;否则,如果 SkinID 为空,则该皮肤将全局应用。例如,请查看下面的示例
<asp:Button SkinID="One" runat="server" BackColor="Blue" />
此皮肤应用于所有具有 SkinID 为“One”的按钮。但是,以下皮肤应用于每个按钮
<asp:Button runat="server" BackColor="Yellow" />
设置了 SkinID 的按钮将使用该皮肤,而不是全局应用的皮肤。主题至少包含皮肤,但通常也包含 CSS 文件。主题在网站或 Web 服务器上的特殊目录中定义。您也可以动态应用主题,但主题应仅在 page_Preinit 事件中通过将值分配给 Page.Theme 属性来应用。
您还可以通过将第三方控件添加到 .skin 文件并添加(如果需要)其引用来主题化第三方控件。
最佳实践
何时使用主题/皮肤
- CSS 无法控制前景色图像
- 必须手动应用 CSS 类才能更改控件的外观。
- 用于高级控件和集合
- 根据当前主题切换图像文件
主题包含的内容
- 特定于 ASP.NET 控件的 CSS 文件
- 用于高级控件或其他前景色图像的图像
主题不包含的内容
- 共享 CSS 文件/样式
- 打印 CSS 文件/样式
- 全局图像
- 与主题/皮肤受影响的内容无关的任何内容
白皮书/博客
视频
- 使用配置文件和主题自定义我的站点?