다음을 통해 공유


IStyleSheet.RegisterStyle(Style, IUrlResolutionService) 메서드

정의

클래스에서 구현할 때 웹 페이지의 <head> 섹션에 있는 포함 스타일시트에 새 스타일 규칙을 추가합니다.

public:
 void RegisterStyle(System::Web::UI::WebControls::Style ^ style, System::Web::UI::IUrlResolutionService ^ urlResolver);
public void RegisterStyle (System.Web.UI.WebControls.Style style, System.Web.UI.IUrlResolutionService urlResolver);
abstract member RegisterStyle : System.Web.UI.WebControls.Style * System.Web.UI.IUrlResolutionService -> unit
Public Sub RegisterStyle (style As Style, urlResolver As IUrlResolutionService)

매개 변수

style
Style

포함 스타일시트에 추가할 스타일 규칙입니다.

urlResolver
IUrlResolutionService

현재 위치(URL)에 대한 컨텍스트 정보가 포함된 IUrlResolutionService 구현 개체입니다.

예제

다음 코드 예제에서는 합니다 Header 구현의 IStyleSheet 사용자 지정 만들기를 보여 주는 Style 개체 labelStyle, 다음 현재 위치 (URL)에 대 한 등록 및 합니다. 해당 label1 호출 레이블을 합니다 MergeStyle 메서드 있도록를 labelStyle 스타일을 적용할를 label1 레이블.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void Page_Load(object sender, EventArgs e)
  {
    if (Page.Header != null)
    {
      // Create a Style object to hold style rules to apply to a Label control.
      Style labelStyle = new Style();

      labelStyle.ForeColor = System.Drawing.Color.DarkRed;
      labelStyle.BorderColor = System.Drawing.Color.DarkBlue;
      labelStyle.BorderWidth = 2;

      // Register the Style object so that it can be merged with 
      // the Style object of the controls that use it.
      Page.Header.StyleSheet.RegisterStyle(labelStyle, null);

      // Merge the labelCssStyle style with the label1 control's
      // style settings.
      label1.MergeStyle(labelStyle);
      label1.Text = "This is what the labelCssStyle looks like.";
    }
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
    <title>IStyleSheet Example</title>
</head>    
<body>
    <form id="form1" runat="server">
        <h1>IStyleSheet Example</h1>
        <asp:Label 
          id="label1" 
          runat="server">
        </asp:Label>
    </form>
  </body>
</html>
<%@ page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
  
    If Not Page.Header Is Nothing Then
    
      ' Create a Style object to hold style rules to apply to a Label control.
      Dim labelStyle As Style = New Style()

      labelStyle.ForeColor = System.Drawing.Color.DarkRed
      labelStyle.BorderColor = System.Drawing.Color.DarkBlue
      labelStyle.BorderWidth = 2

      ' Register the Style object so that it can be merged with 
      ' the Style object of the controls that use it.
      Page.Header.StyleSheet.RegisterStyle(labelStyle, Nothing)

      ' Merge the labelCssStyle style with the label1 control's
      ' style settings.
      label1.MergeStyle(labelStyle)
      label1.Text = "This is what the labelCssStyle looks like."
      
    End If
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
    <title>IStyleSheet Example</title>
</head>    
<body>
    <form id="form1" runat="server">
        <h1>IStyleSheet Example</h1>
        <asp:Label 
          id="label1" 
          runat="server">
        </asp:Label>
    </form>
  </body>
</html>

설명

이 메서드는 새 스타일 규칙을 추가 및 RegisteredCssClass 포함된 스타일 시트에 속성 이름을 <head> 섹션을 Page 개체를 자동으로 생성 된 스타일 이름으로 규칙을 연결 합니다. 합니다 Style 지정 된 개체는 렌더링 urlResolver 매개 변수입니다.

하는 경우 urlResolver 로 설정 된 null, 현재 URL Page 사용 됩니다.

경우는 Style 개체 이미 등록 되어 추가 되지 않은 여러 번입니다.

참고

추가 하거나 스타일을 프로그래밍 방식으로 비동기 포스트백 도중 수정 지원 되지 않습니다. ASP.NET 웹 페이지에 AJAX 기능을 추가 하면 비동기 포스트백 전체 페이지를 업데이트 하지 않고 페이지의 영역을 업데이트 합니다. 자세한 내용은 Microsoft Ajax Overview합니다.

적용 대상