Introduction
Themes is a new feature in ASP.NET 2.0, they allows us to define a set of style attributes that we can apply to controls in multiple pages. Themes are not implemented by the browser, Instead they are implemented on the server.
Themes are application specific.
How to use a theme in a web application
First we need to create a folder that defines it. We create a folder funkytheme in the App_Themes folder as you can see from the following image.

We need to place this folder in a folder named App_Theme, which must be inside the top-level directory of web application.
For example: If our web application named Test might have a theme named FunkyTheme, then this would be placed in- Test\App_Theme\FunkyTheme folder.
You also notice funckytheme.skin file is added to the folder.
Applying a simple Theme
To add a theme to a project, select Website -> Add New Item and choose Skin File.
Visual Studio does not include any design-time support for creating themes, So we have to copy and paste control tags from other pages.
This article gives you a sample skin that sets background and foreground colors for several common controls.
Here is our page controls look like.
<asp:TextBox runat="server" BackColor="Cyan" ForeColor="Black"> </asp:TextBox>
<asp:ListBox runat="server" BackColor="Cyan" ForeColor="Black"> </asp:ListBox>
<asp:Button runat="server" BackColor="Cyan" ForeColor="Black"/>
To apply the theme in this web page, we need to set the Theme attribute of the page directive to the folder name for our theme.
<%@ Page Language="C#" AutoEventWireup="true" Theme="FunkyTheme" %>
Web page before applying Theme

Web page after applying Theme