Themes in ASP .NET
How To .NET C Sharp

Themes in ASP .NET

Mishel Shaji
Mishel Shaji

A theme is simply a collection of files that define the look and feel of a website. It may contain some CSS, JavaScript, Image or video files. This post demonstrates how to use themes in ASP .NET.

In ASP .NET, we place our themes in App_Themes folder. To create a theme folder, Right-click on your project->Add->ASP .NET Folder->Theme.

By default, when you create the App_Themes folder, a sub folder named Theme1 is also created. This will be the name of the theme. To change the name of your theme, right-click on the Theme1 folder and select rename.

Adding theme files

If you are using a template, copy all the files of your template to the template folder.

If you are not using a tempate, create a CSS file theme1.css in the Theme1 folder (Right-click->Add->Style Sheet) and place the following code.

body
{
background-color: black;
color: white;
}

Applying themes

You can specify theme in any of the following ways:

1 ) Setting theme in web.config:

Theme specified in the web.config file is applied to all pages of the site. To specify theme in web.config, modify it’s content as shown below.

<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<pages theme="Theme1"></pages>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>

2) Setting the theme in each pages
Add theme attribute to the page directive of the page as shown below.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="ASP_Themes.WebForm1" Theme="Theme1"%>

3) Setting the theme programmatically

You can also set the theme programmatically in the Page_PreInit event by adding the following code to the cs file of the page.

protected void Page_PreInit(object sender, EventArgs e)
{
	Page.Theme = "Theme1";
}

4) Run the project and you will see that the style specified in the theme1.css file is applied to the page.