Site Renkleri

.Net Dersleri

StoreControlProperty



Bu sınıfta ilgili kontrollerin özelliklerini işleyeceğiz yani ana sınıfımız StoreControlProperty olacaktır.Bu kontrol StoreControlItem kontrolleri içerecektir.Basit olarak yazım formatına bakmak gerekirse;

<cc2:storecontrolproperty id="StoreControlProperty1" runat="server" ismasterpage="True">
<StoredControlItems>
<cc2:StoreControlItem ID="StoreControlItem1" runat="server" ControlID="CheckBox1" PropertyName="Checked">
</cc2:StoreControlItem>
<cc2:StoreControlItem ID="StoreControlItem2" runat="server" ControlID="TextBox1" PropertyName="Text">
</cc2:StoreControlItem>
</StoredControlItems>
</cc2:storecontrolproperty>

Yukarıdaki kodu sayfamıza yazdığımızda CheckBox1 kontrolünün Checked özelliği ve TextBox1 kontrolünün Text özelliği otomatik olarak cookie ye kaydedilecek, kullanıcının bir sonraki ziyaretinde aynı değerleri alacaktır. Temel öğeleriyle sınıfımızı oluşturup yavaş yavaş ilerleyelim.

[NonVisualControl, Designer(typeof(StoreControlPropertyDesigner))]
[ParseChildren(true)]
[PersistChildren(false)]
public class StoreControlProperty:Control
{
//Bu alanda StoreControlItems nesnelerini depolayacağız.
private List mStoredControlItems = new List();
//Bu alan sayfanın MasterPage olup olmadığını tutacaktır.
private bool mIsMasterPage;
[Browsable(true), Description("")]
public bool IsMasterPage
{
get { return mIsMasterPage; }
set { mIsMasterPage = value; }
}
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
[PersistenceMode(PersistenceMode.InnerProperty)]
public List StoredControlItems
{
get{return mStoredControlItems;}
}
//Bu metod ile StoreControlPropery içindeki StoreControlItem değerleri okunduğunda
//StoreControlItem nesnesi StoredControlItems List'ine eklenecektir.
protected override void AddParsedSubObject(object obj)
{
if (obj is StoreControlItem)
this.StoredControlItems.Add(obj as StoreControlItem);
}
}
internal class StoreControlPropertyDesigner : ControlDesigner
{
public override string GetDesignTimeHtml()
{
return base.CreatePlaceHolderDesignTimeHtml("");
}
}

Evet temel üyeleri oluşturduğumuza göre artık değerlerin okunması ve yazılması işlemlerine geçelim.

Web Tasarımı | Site Tasarımı | Bilgisayar Dersleri | Hosting | Domain