다음을 통해 공유


PersonalizableAttribute 클래스

정의

개인 설정 특성을 나타냅니다. 이 클래스는 상속될 수 없습니다.

public ref class PersonalizableAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Property)]
public sealed class PersonalizableAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Property)>]
type PersonalizableAttribute = class
    inherit Attribute
Public NotInheritable Class PersonalizableAttribute
Inherits Attribute
상속
PersonalizableAttribute
특성

예제

다음 코드 예제는 코드에서 클래스를 PersonalizableAttribute 사용하는 방법을 보여 줍니다. 샘플은 라는 ColorSelector.ascx웹 파트 사용자 컨트롤을 참조하는 .aspx 페이지로 구성됩니다. 다음 코드는.aspx 파일의 예입니다.

<%@ Page Language="C#"  %>
<%@ Register TagPrefix="uc1" TagName="colorcontrol" Src="ColorSelector.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
       
<body>
    <form id="form1" runat="server">
      <div>
         <asp:LoginName ID="LoginName1" runat="server" />
         
        <asp:LoginStatus ID="LoginStatus1" runat="server" LogoutAction="RedirectToLoginPage" />
            <br />
        <br />
         <asp:WebPartManager ID="WebPartManager1" runat="server">
        </asp:WebPartManager>
    
    </div>
        <asp:WebPartZone ID="WebPartZone1" runat="server"  Height="200" Width="200">
        <ZoneTemplate>
        <uc1:colorcontrol id="colorcontrol" runat="server" />
        </ZoneTemplate>
        </asp:WebPartZone>        
    </form>
</body>
</html>

다음 코드는 컨트롤에 대한 것입니다 ColorSelector.ascx .

중요

이 예제에는 사용자 입력을 허용하는 텍스트 상자가 있으므로 보안상 위험할 수 있습니다. 기본적으로 ASP.NET 웹 페이지는 사용자 입력 내용에 스크립트 또는 HTML 요소가 포함되어 있지 않은지 확인합니다. 자세한 내용은 Script Exploits Overview를 참조하세요.

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

<script runat="server">
private System.Drawing.Color userchoice;

[Personalizable]
public System.Drawing.Color UserColorChoice
{
   get
   {
     return userchoice;
   }
   set
   {
     userchoice = value;
   }
}

protected void OnRed(object src, EventArgs e)
{
  _color.BackColor = System.Drawing.Color.Red;
  UserColorChoice = System.Drawing.Color.Red;
}

protected void OnGreen(object src, EventArgs e)
{
  _color.BackColor = System.Drawing.Color.Green;
  UserColorChoice = System.Drawing.Color.Green;
}

protected void OnBlue(object src, EventArgs e)
{
  _color.BackColor = System.Drawing.Color.Blue;
  UserColorChoice = System.Drawing.Color.Blue;
}

protected void Page_Init(object src, EventArgs e)
{
  _redButton.Click   += new EventHandler(OnRed);  
  _greenButton.Click += new EventHandler(OnGreen);  
  _blueButton.Click  += new EventHandler(OnBlue);  
}

protected void Page_Load(object src, EventArgs e)
{
  if (!IsPostBack)
  {
          _color.BackColor = UserColorChoice;
  }
}

</script>
<body>
    <div>
        <asp:TextBox ID="_color" runat="server" Height="100" Width="100" />
        <br />
        <asp:button runat="server"  id="_redButton" text="Red"  /> 
          
        <asp:button runat="server"  id="_greenButton" text="Green" />
          
        <asp:button runat="server" id="_blueButton" text="Blue" />
    </div>
</body>

설명

개인 설정 특성인 Personalizable은 개인 설정 정보를 유지해야 하는 공용 제어 속성에 적용됩니다. ASP.NET 컨트롤이 웹 파트 페이지의 웹 파트 영역에 있을 때 기본 데이터 저장소에서 이러한 값을 유지하거나 검색하는 코드를 자동으로 생성합니다.

속성을 개인 설정 가능으로 표시하려면 다음 요구 사항을 충족해야 합니다.

  • 속성은 public이어야 하며 public get 및 set 접근자가 있어야 합니다.

  • 속성은 읽기/쓰기 속성이어야 합니다.

  • 속성에는 매개 변수가 없어야 합니다.

  • 속성을 인덱싱할 수 없습니다.

속성에 대한 개인 설정 데이터를 로드하고 저장하기 위해 코드가 자동으로 생성됩니다. 개인 설정을 지원하는 속성은 속성에 이 특성이 존재하고 속성이 위에 나열된 제약 조건을 준수한다는 사실에 따라 결정됩니다.

읽기 전용 및 쓰기 전용 속성은 개인 설정에 지원되지 않습니다. 이 특성을 읽기 전용 또는 쓰기 전용 속성에 적용하면 이 HttpException throw됩니다. 매개 변수가 있는 속성도 예외를 throw합니다 HttpException .

인터페이스를 통한 IPersonalizable 특별한 처리가 사용되지 않는 경우 이 특성이 없는 개별 속성은 개인 설정에서 제외됩니다.

특성 사용에 대한 자세한 내용은 웹 파트 개인 설정 개요를 참조하세요.

생성자

PersonalizableAttribute()

PersonalizableAttribute 클래스의 새 인스턴스를 초기화합니다.

PersonalizableAttribute(Boolean)

제공된 매개 변수를 사용하여 PersonalizableAttribute 클래스의 새 인스턴스를 초기화합니다.

PersonalizableAttribute(PersonalizationScope)

제공된 매개 변수를 사용하여 PersonalizableAttribute 클래스의 새 인스턴스를 초기화합니다.

PersonalizableAttribute(PersonalizationScope, Boolean)

제공된 매개 변수를 사용하여 PersonalizableAttribute 클래스의 새 인스턴스를 초기화합니다.

필드

Default

개인 설정이 지원되지 않음을 나타내는 특성 인스턴스를 반환합니다. 이 필드는 읽기 전용입니다.

NotPersonalizable

개인 설정이 지원되지 않음을 나타내는 특성 인스턴스를 반환합니다. 이 필드는 읽기 전용입니다.

Personalizable

개인 설정이 지원됨을 나타내는 특성 인스턴스를 반환합니다. 이 필드는 읽기 전용입니다.

SharedPersonalizable

공유 범위에서 개인 설정이 지원됨을 나타내는 특성 인스턴스를 반환합니다. 이 필드는 읽기 전용입니다.

UserPersonalizable

User 범위에서 개인 설정이 지원됨을 나타내는 특성 인스턴스를 반환합니다. 이 필드는 읽기 전용입니다.

속성

IsPersonalizable

생성자 중 하나에서 설정할 때 특성을 개인 설정할 수 있는지 여부를 나타내는 설정을 가져옵니다.

IsSensitive

생성자 중 하나에서 설정할 때 특성이 민감한지 여부를 나타내는 설정을 가져옵니다.

Scope

생성자 중 하나로 설정되는, 클래스 인스턴스에 대한 PersonalizationScope 열거형 값을 가져옵니다.

TypeId

파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다.

(다음에서 상속됨 Attribute)

메서드

Equals(Object)

재정의하는 경우 PersonalizableAttribute의 현재 인스턴스 및 매개 변수로 제공되는 다른 PersonalizableAttribute 인스턴스의 부울 값을 반환합니다.

GetHashCode()

재정의하는 경우 특성의 해시 코드를 반환합니다.

GetPersonalizableProperties(Type)

매개 변수 형식이 일치하고 개인 설정할 수 있는 것으로 표시된 속성에 대한 PropertyInfo 개체의 컬렉션을 반환합니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
IsDefaultAttribute()

재정의하는 경우 특성 인스턴스가 정적 Default 필드 값과 동일한지 여부를 나타내는 값을 반환합니다.

Match(Object)

PersonalizableAttribute의 현재 인스턴스와 특정 PersonalizableAttribute가 동일한 IsPersonalizable 속성 값을 갖는지 여부를 나타내는 값을 반환합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).

(다음에서 상속됨 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.

(다음에서 상속됨 Attribute)

적용 대상