How to: Apply ASP.NET Themes Programmatically
In addition to specifying theme and skin preferences in page declarations and configuration files, you can apply themes programmatically. You can set both page themes and style sheet themes programmatically; however, the procedure for applying each type of theme is different.
Note
The themes referenced below are not included in ASP.NET. To create a custom theme, see How to: Define ASP.NET Page Themes.
To apply a page theme programmatically
In a handler for the page's PreInit method, set the page's Theme property.
The following example shows how to set a page's theme conditionally based on a value passed in the query string.
Protected Sub Page_PreInit(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Me.PreInit Select Case Request.QueryString("theme") Case "Blue" Page.Theme = "BlueTheme" Case "Theme2" Page.Theme = "PinkTheme" End Select End Sub
protected void Page_PreInit(object sender, EventArgs e) { switch (Request.QueryString["theme"]) { case "Blue": Page.Theme = "BlueTheme"; break; case "Pink": Page.Theme = "PinkTheme"; break; } }
To apply a style sheet theme programmatically
In the page's code, override the StyleSheetTheme property and in the get accessor, return the name of the style sheet theme.
The following code example shows how to set a theme named BlueTheme as the style sheet theme for a page:
Public Overrides Property StyleSheetTheme() As String Get Return "BlueTheme" End Get Set(ByVal value As String) End Set End Property
public override String StyleSheetTheme { get { return "BlueTheme"; } }
To apply control skins programmatically
In a handler for the page's PreInit method, set the control's SkinID property.
The following code example shows how to set the SkinID property of a Calendar control. This example assumes that the the page's theme has already been set.
Sub Page_PreInit(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Me.PreInit Calendar1.SkinID = "CustomSkin" End Sub
void Page_PreInit(object sender, EventArgs e) { Calendar1.SkinID = "CustomSkin"; }
See Also
Tasks
How to: Define ASP.NET Page Themes