6.4. Skins
Skins are simple text files that contain markup for controls. Placed in a theme folder under App_Themes, they are an integral part of the ASP.NET themes feature. A skin file (with a .skin extension) contains the server side presentational elements of a control. These settings are then applied to all the controls to which the skin applies. To see how this works, consider the following example that defines the skin or appearance of a Button control.
<asp:Button BackColor="#cccccc" ForeColor="#308462" runat="server" />
With this skin definition, all the buttons in your site will get a BackColor of #cccccc and a ForeColor of #308462. All you need to do is create a simple .skin file under your theme's folder, add this markup to it and that's it. From then on, all the buttons will be changed automatically. Just as with setting the properties on the controls directly as you saw earlier, these properties like BackColor and ForeColor are transformed into client-side HTML and CSS.
Note that this markup is similar to the markup of a button. There are a few differences though. First of all, the control in the .skin file cannot have an ID attribute. The ID is used to uniquely identify a control in a page, and since the skin is applied to all controls, there's no point in giving it an ID. Another difference is the number of attributes you can set in the markup. Not all properties of a control are skinnable. For example, you can't set the Enabled property of the Button through a .skin. ...