PersonalizableAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Ö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.ascx
bir 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, Personalizable
kiş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) |