PersonalizableAttribute Sınıf

Tanım

Kişiselleştirme özniteliğini temsil eder. Bu sınıf devralınamaz.

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
Devralma
PersonalizableAttribute
Öznitelikler

Örnekler

Aşağıdaki kod örneği, kodda sınıfının nasıl kullanılacağını PersonalizableAttribute gösterir. Örnek, adlı ColorSelector.ascxbir Web Bölümü kullanıcı denetimine başvuran bir .aspx sayfasından oluşur. Aşağıdaki kod, örneğin .aspx dosyasıdır.

<%@ 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>

Aşağıdaki kod denetim içindir ColorSelector.ascx .

Önemli

Bu örnekte, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden bir metin kutusu vardır. Varsayılan olarak, ASP.NET Web sayfaları kullanıcı girişinin betik veya HTML öğeleri içermediğini doğrular. Daha fazla bilgi için bkz . Betik Açıklarına Genel Bakış.

<%@ 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>

Açıklamalar

Kişiselleştirme özniteliği, Personalizablekişiselleştirme bilgilerini kalıcı hale getirmesi gereken genel denetim özelliklerine uygulanır. ASP.NET, denetim bir Web Bölümleri sayfasındaki Bir Web Bölümleri bölgesinde olduğunda bu değerleri kalıcı hale getirmek veya temel alınan veri deposundan almak için kodu otomatik olarak oluşturur.

Bir özelliğin kişiselleştirilebilir olarak işaretlenmesi için aşağıdaki gereksinimler karşılanmalıdır:

  • Özelliğin genel olması ve genel get ve set erişimcilerine sahip olması gerekir.

  • Özelliğin bir okuma/yazma özelliği olması gerekir.

  • Özelliğin parametresiz olması gerekir.

  • Özellik dizine alınamaz.

Özellikler için kişiselleştirme verilerini yüklemek ve kaydetmek için otomatik olarak kod oluşturulur. Kişiselleştirmeyi destekleyen özellikler, özellikte bu özniteliğin varlığına ve özelliğin yukarıda listelenen kısıtlamalara uygun olmasına göre belirlenir.

Salt okunur ve salt yazma özelliklerinin kişiselleştirme için desteklenmediğini unutmayın. Bu özniteliğin salt okunur veya salt yazma özelliğine uygulanması, bir HttpException atılmasıyla sonuçlanıyor. Parametreli özellikler de bir HttpException özel durum oluşturur.

Arabirim aracılığıyla özel bir işleme kullanılmazsa, bu özniteliği olmayan tek tek özellikler kişiselleştirmenin IPersonalizable dışında tutulur.

Öznitelikleri kullanma hakkında daha fazla bilgi için bkz . Web Bölümleri Kişiselleştirmeye Genel Bakış.

Oluşturucular

PersonalizableAttribute()

PersonalizableAttribute sınıfının yeni bir örneğini başlatır.

PersonalizableAttribute(Boolean)

Sağlanan parametresini PersonalizableAttribute kullanarak sınıfının yeni bir örneğini başlatır.

PersonalizableAttribute(PersonalizationScope)

Sağlanan parametresini PersonalizableAttribute kullanarak sınıfının yeni bir örneğini başlatır.

PersonalizableAttribute(PersonalizationScope, Boolean)

Sağlanan parametreleri kullanarak sınıfının yeni bir örneğini PersonalizableAttribute başlatır.

Alanlar

Default

Kişiselleştirme desteği olmadığını gösteren bir öznitelik örneği döndürür. Bu alan salt okunur durumdadır.

NotPersonalizable

Kişiselleştirme desteği olmadığını gösteren bir öznitelik örneği döndürür. Bu alan salt okunur durumdadır.

Personalizable

Kişiselleştirme desteğini gösteren bir öznitelik örneği döndürür. Bu alan salt okunur durumdadır.

SharedPersonalizable

Paylaşılan bir kapsamla kişiselleştirme desteğini gösteren bir öznitelik örneği döndürür. Bu alan salt okunur durumdadır.

UserPersonalizable

Kapsamda kişiselleştirme User desteğini gösteren bir öznitelik örneği döndürür. Bu alan salt okunur durumdadır.

Özellikler

IsPersonalizable

Oluşturuculardan biri tarafından oluşturulduğu şekilde özniteliğin kişiselleştirilip kişiselleştirilemeyeceğini gösteren ayarı alır.

IsSensitive

Oluşturuculardan biri tarafından belirlenen özniteliğin hassas olup olmadığını gösteren ayarı alır.

Scope

PersonalizationScope Oluşturuculardan biri tarafından ayarlandığı gibi sınıf örneği için numaralandırma değerini alır.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.

(Devralındığı yer: Attribute)

Yöntemler

Equals(Object)

Geçersiz kılındığında geçerli örneğinin Boole değerlendirmesini PersonalizableAttribute ve parametre olarak sağlanan başka bir PersonalizableAttribute örneği döndürür.

GetHashCode()

Geçersiz kılındığında özniteliğinin karma kodunu döndürür.

GetPersonalizableProperties(Type)

Parametre türüyle PropertyInfo eşleşen ve kişiselleştirilebilir olarak işaretlenmiş özellikler için bir nesne koleksiyonu döndürür.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IsDefaultAttribute()

Geçersiz kılındığında, öznitelik örneğinin statik Default alanın değerine eşit olup olmadığını gösteren bir değer döndürür.

Match(Object)

ve öğesinin PersonalizableAttribute geçerli örneğinin PersonalizableAttribute aynı IsPersonalizable özellik değerine sahip olup olmadığını gösteren bir değer döndürür.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

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

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır