방법: 프로그래밍 방식으로 ASP.NET 테마 적용

Visual Studio 2010

업데이트: 2007년 11월

페이지 선언과 구성 파일을 사용하여 테마 및 스킨 기본 설정을 지정할 수 있을 뿐만 아니라 프로그래밍 방식으로 테마를 적용할 수도 있습니다. 페이지 테마와 스타일시트 테마 둘 다 프로그래밍 방식으로 설정할 수 있지만 각 테마 형식을 적용하는 방법은 서로 다릅니다.

tx35bd89.alert_note(ko-kr,VS.100).gif참고:

아래에 참조로 제시된 테마는 ASP.NET에 포함되어 있지 않습니다. 사용자 지정 테마를 만들려면 방법: ASP.NET 페이지 테마 정의를 참조하십시오.

페이지 테마를 프로그래밍 방식으로 적용하려면

  • 페이지의 PreInit 메서드에 대한 처리기에서 페이지의 Theme 속성을 설정합니다.

    다음 예제에서는 쿼리 문자열에 전달되는 값에 따라 조건부로 페이지 테마를 설정하는 방법을 보여 줍니다.

    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;
        }
    }
    

스타일시트 테마를 프로그래밍 방식으로 적용하려면

  • 페이지의 코드에서 StyleSheetTheme 속성을 재정의하고 get 접근자에서 스타일시트 테마의 이름을 반환합니다.

    다음 코드 예제에서는 이름이 BlueTheme인 테마를 페이지의 스타일시트 테마로 설정하는 방법을 보여 줍니다.

    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"; }
    }
    

컨트롤 스킨을 프로그래밍 방식으로 적용하려면

  • 페이지의 PreInit 메서드에 대한 처리기에서 컨트롤의 SkinID 속성을 설정합니다.

    다음 코드 예제에서는 Calendar 컨트롤의 SkinID 속성을 설정하는 방법을 보여 줍니다. 이 예제에서는 페이지 테마가 이미 설정되었다고 가정합니다.

    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";
    }
    
표시: