Udostępnij za pośrednictwem


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

Other Resources

ASP.NET Themes and Skins