AJAX TABCONTAINER KONTROLÜ

Bu yazımda Asp.Net Ajax ControlToolkit ile gelen TabContainer kontrolünü inceleyelim. Şimdi bir adet asp.net ajax projesi oluşturalım ve işe koyulalım.

Not: Bu makaleyi yazarken Ajax’ı ve Ajax Control Toolkit’i projeye ekleme konusunda sorununuz olmadığını varsayıyorum.

1.ADIM: ASP.NET Ajax projesi oluşturunuz.
2.ADIM: Sayfanıza 1 adet ScriptManager kontrolü ekleyiniz.
3.ADIM: Smart Tag yardımı ile yeni tab paneller ekleyiniz.
Ben 3 tane ekledim. Source kısmında aşağıdakine benzer bir görünüm olmalı.

cc1:TabPanel>

cc1:TabPanel>

cc1:TabPanel>
cc1:TabContainer>

Buradan Header Text gibi başlık özelliklerine müdahale edebilirsiniz.

ajax-tabcontainer-kontrolu-1

ajax-tabcontainer-kontrolu-1

TabContainer : Kontrolün kendisi.

Tab Panel : E-learner.NET, Zirvedeki Beyinler, Başkent panellerinin her biri.

Artık her biri Tab Paneli ayrı ayrı yapılandırabilirsiniz. Örneğin Her tab panele birer adet TextBox ve Buton koyalım.

ajax-tabcontainer-kontrolu-2

ajax-tabcontainer-kontrolu-2

Aktif TabPanel Bilgilerine ulaşmak
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(TabContainer1.ActiveTab.HeaderText);
}
Aktif TabPanel’e ait bilgilere ulaşmak için TabContainer1.ActiveTab özelliğine ait özellikleri kullanabilirsiniz.

TabPaneller Arasında Dolaşım
TabContainer Kontrolünü ana panel, tab panelleri ise alt paneller olarak düşünüp kontrol içerisinde dolaşım yapabilirsiniz.

Örneğin, biz, Panellerde bulunan tüm kontrollerin text özelliklerini yazdıralım.

C#

protected void Button1_Click(object sender, EventArgs e)
{
foreach (object eleman in TabContainer1.Controls)
{
if (eleman is AjaxControlToolkit.TabPanel)
{
foreach (object kontrol in ((AjaxControlToolkit.TabPanel)eleman).Controls)
{
if (kontrol is Control)
{
Control c = (Control)kontrol;
foreach (object ickontrol in c.Controls)
{
if (ickontrol is TextBox)
Response.Write(((TextBox)ickontrol).Text);
}
}
}
}
}
}

VB
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
For Each eleman As Object In TabContainer1.Controls
If TypeOf eleman Is AjaxControlToolkit.TabPanel Then
For Each kontrol As Object In (DirectCast(eleman, AjaxControlToolkit.TabPanel)).Controls
If TypeOf kontrol Is Control Then
Dim c As Control = DirectCast(kontrol, Control)
For Each ickontrol As Object In c.Controls
If TypeOf ickontrol Is TextBox Then
Response.Write((DirectCast(ickontrol, TextBox)).Text)
End If
Next
End If
Next
End If
Next
End Sub
Sonuç: TabContainer uygulamanız içerisinde kısıtlı alanlarda gerçekten de güzel işler çıkarabileceğiniz ve

Kısıtlı alanları verimli kullanabileceğiniz bir kontrol. TabContainer’ı ekledikten sonra iş sadede dizayn yapıp programlama becerisine bakıyor.

Başka yazılarda görüşmek dileğiyle.