在ASP.NET中,主题和皮肤是用于定义网页和控件外观的强大工具。它们允许开发者创建一致的界面风格,并可以在整个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文件中,并在需要时添加它们的引用,来为主题化第三方控件。
以下是一些关于何时使用主题/皮肤的指导原则:
主题应包含的内容:
主题不应包含的内容: