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, sınıfın PersonalizableAttribute kodda nasıl kullanılacağını 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 .

Important

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 web bölümleri sayfasındaki bir Web Bölümleri bölgesinde olduğunda bu değerleri kalıcı hale getirmek veya 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 alma ve ayarlama erişimcilerine sahip olması gerekir.

  • özelliği bir okuma/yazma özelliği olmalıdır.

  • özelliği parametresiz olmalıdır.

  • Özelliği 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 üzerinden ö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

Name Description
PersonalizableAttribute()

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

PersonalizableAttribute(Boolean)

Sağlanan parametresini kullanarak sınıfın PersonalizableAttribute 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.

PersonalizableAttribute(PersonalizationScope)

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

Alanlar

Name Description
Default

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

NotPersonalizable

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

Personalizable

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

SharedPersonalizable

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

UserPersonalizable

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

Özellikler

Name Description
IsPersonalizable

Oluşturuculardan biri tarafından belirlenen ö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ğinin 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

Name Description
Equals(Object)

Geçersiz kılındığında geçerli örneğini ve parametre olarak sağlanan başka bir PersonalizableAttribute örneğin Boole değerlendirmesini PersonalizableAttribute 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 eşleşen ve kişiselleştirilebilir olarak işaretlenmiş özellikler için bir nesne koleksiyonu PropertyInfo döndürür.

GetType()

Geçerli örneğin Type 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 Objectbasit bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

Name Description
_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 kullanıma sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır