Makale Özeti

ASP.NET 2.0 gerçekten de "az zaman - çok iş" felsefesini benimsemiş durumda. Gerek programcıların kullanımına sunulan kontrollere eklenen yeni kontroller, gerekse daha önceden kullanılan kontrollerin özelliklerindeki gelişmeler son derece tatmin edici durumda. Ancak unutmamak gerekir ki, bu gelişmeler kesinlikle kontroller ile kısıtlı değil. İşte bu noktada, ASP.NET 2.0'ın bize gerçekten ne yenilikler getirdiğini keşfetmeye başlamak gerekli.

Makale


ASP.NET 2.0 - Makale Dizisine Giriş ve Eski Kontrollerdeki Yenilikler


ASP.NET 2.0 gerçekten de "az zaman - çok iş" felsefesini benimsemiş durumda. Gerek programcıların kullanımına sunulan kontrollere eklenen yeni kontroller, gerekse daha önceden kullanılan kontrollerin özelliklerindeki gelişmeler son derece tatmin edici durumda. Ancak unutmamak gerekir ki, bu gelişmeler kesinlikle kontroller ile kısıtlı değil. İşte bu noktada, ASP.NET 2.0'ın bize gerçekten ne yenilikler getirdiğini keşfetmeye başlamak gerekli.

Geliştirilmiş Intellisense ile daha rahat kod yazımı, .NET Framework'e eklenmiş olan partial (parçalı) - .NET Framework 2.0 ve Partial (parçalı) Sınıflar - sınıflara ve diğer tüm yeniliklere destek vermesi ve programcılara sunulan namespace'ler ile sınıfların arttırılması ile karşımıza oldukça güçlü bir programlama framework'ü çıkmış durumda.

Bu makale dizisinde ASP.NET 2.0 ile gelen bir takım yeniliklerden bahsedeceğiz.

İlk makalemizle başlayalım.



Eski Kontrollerdeki Yenilikler


  1. Label - System.Web.UI.WebControls.Label

    • AssociatedControlID - Özellik, string

      Label'a tıklanması durumunda, hangi kontrolün tıklanmış farzedileceğinin tanımlandığı özelliktir. Örneğin "checkBox1" isminde bir CheckBox'ınız var ve Label'a tıklandığında - aynen Windows programlarında label'ların ilişkili olduğu CheckBox'ın "Checked" özelliğini değiştirebildiği gibi - "checkBox" ismindeki CheckBox'ın "Checked" özelliğini değişmesini istiyorsunuz. Bu durumda yapmanız gereken tek şey Label'ınızın "AssociatedControlID" özelliğini "checkBox1" yapmak.
       
  2. TextBox - System.Web.UI.WebControls.TextBox

    • AutoCompleteType - Özellik, enum: System.Web.UI.WebControls.AutoCompleteType

      TextBox'a konumlanıp, yazı yazmaya başladığınızda; tarayıcınızın daha önceden girdiğiniz bilgilere göre size sunacağı otomatik tamamlama opsiyonları ile ilgili kategorilendirme tanımlamasının yapıldığı özelliktir. Örneğin TextBox'ınıza "System.Web.UI.WebControls.AutoCompleteType" enum'u içerisinde yer alan "HomePhone" değerini vermeniz durumunda, başka bir sayfanızda kullandığınız TextBox'ınızın "AutoCompleteType" özelliği de "HomePhone" ise, tarayıcı daha öncesinde "HomePhone" olarak girmiş olduğunuz değerleri size sunacaktır. Bu özellik default olarak "None" değerine sahiptir. Otomatik tamamlama işlemini kullanım dışı bırakmak isterseniz özelliği "Disabled" olarak vermeniz gerekir.
       
  3. Button - System.Web.UI.WebControls.Button

    • OnClientClick - Özellik, string

      Butona tıklanması durumunda, client-side'da çalışacak olan client-side'da tanımlanmış olan methodun tanımlandığı özelliktir. Javascript ile yazılmış yönlendirme, mesaj gösterme gibi tüm durumlar için bu özellik kullanılabilir. ASP.NET 1.0 ve 1.1'de bu işlemi yapabilmek için sayfamızın OnLoad event'inde buttonName.Attributes.Add( "onClick", "javascript:MethodIsmi()" ); şeklinde kod yazmak zorunda kalıyorduk.
       
    • PostBackUrl - Özellik, string

      Butona tıklanması durumunda, butonun içerisinde bulunduğu formun gönderileceği adresin tanımlandığı özelliktir. Bu sayede A.aspx dosyasındaki formun B.aspx dosyasında işlem görmesini sağlayabiliriz.
       
    • UseSubmitBehavior - Özellik, boolean

      Butonun bir submit butonu mu, yoksa normal bir buton mu olacağının belirtildiği özelliktir. ASP.NET 1.0 ve 1.1'de bu işlemi yapabilmek için öncelikle HTML kontrolleri içerisinden bir button ekleyip, bu butonu server tarafında kullanmak istersek butonun "runat" özelliğini "server" olarak değiştiriyorduk.
       
    • ValidationGroup - Özellik, string

      Butona tıklanması durumunda hangi ValidationGroup içerisindeki Validation kontrollerinin çalışacağının tanımlandığı özelliktir. Bu sayede Button1'e tıklandığında "Grup1" grubundaki giriş kontrolleri yapılsın fakat Button2'ye tıklandığında "Grup2" grubundaki giriş kontrolleri yapılsın demek gibi bir şansımız var. ASP.NET 1.0 ve 1.1'de bu işlemi yapabilmek için uzun JavaScript methodları yazmamız gerekiyordu. Şimdi ise bu işlemi sadece bir özelliği atayarak yapabiliyoruz.
       
  4. LinkButton - System.Web.UI.WebControls.LinkButton
    ImageButton - System.Web.UI.WebControls.ImageButton

    Button kontrolünün sahip olduğu yeni özelliklere sahiptirler. Button'dan farklı olarak "UseSubmitBehavior" özelliğini desteklememektedirler.
     
  5. DropDownList - System.Web.UI.WebControls.DropDownList
    CheckBoxList - System.Web.UI.WebControls.CheckBoxList
    RadioButtonList - System.Web.UI.WebControls.RadioButtonList

    • AppendDataBoundItems - Özellik, boolean

      List kontrollerinizin bind edilmesin sırasında, List kontrollerinizin özellikler ekranınki "Items" özelliği kullanılarak eklenmiş olan seçeneklerin temizlenip temizlenmeyeceğinin tanımlandığı özelliktir. Örneğin DropDownList'inize "Seçiniz" şeklinde bir opsiyonu kendiniz ekleyip, daha sonrasında da veritabanında bulunan opsiyonlarınızı bind etmek isterseniz, bu özelliği "true" yapmalısınız ki, binding işlemi sizin kendi tanımladığınız opsiyonları silmesin. Özellik default olarak "false" değerine sahiptir.
       
  6. RadioButton - System.Web.UI.WebControls.RadioButton

    • GroupName - Özellik, string

      RadioButton'unuzun hangi grup içerisinde yer aldığının tanımlandığı özelliktir. ASP.NET 1.0 ve 1.1'de bu işlemin yapılması için RadioButton'larımızı "RadioButtonList" kontrolleri içerisinde kullanmak zorundaydık.
       
  7. Panel - System.Web.UI.WebControls.Panel

    • GroupingText - Özellik, string

      Panel'inizin en üstünde, üst başlık şeklinde görünecek olan yazının atandığı özelliktir.
       
    • DefaultButton - Özellik, string

      Panel'iniz içerisinde yer alan herhangi bir kontrole konumlandığınızda aktif olarak atanacak olan butonun hangi buton olacağının atandığı özelliktir.
       
    • ScrollBars - Özellik, enum: System.Web.UI.WebControls.ScrollBars

      Panel'iniz sahip olacağı kaydırma çubuklarının hangileri olacağının tanımlandığı özelliktir. Özellik default olarak "None" değerine sahiptir, yani kaydırma çubuğu görünmez.
       
  8. RequiredFieldValidator - System.Web.UI.WebControls.RequiredFieldValidator
    RangeValidator - System.Web.UI.WebControls.RangeValidator
    RegularExpressionValidator - System.Web.UI.WebControls.RegularExpressionValidator
    CompareValidator - System.Web.UI.WebControls.CompareValidator
    CustomValidator - System.Web.UI.WebControls.CustomValidator

    • SetFocusOnError - Özellik, boolean

      Validator'un kontrol edeceği kontrolün sahip olduğu değerin geçersiz olması durumunda, kontrol edilen kontrole konumlanıp konumlanılmayacağının tanımlandığı özelliktir.
       
    • ValidationGroup - Özellik, string

      Validator'un içerisinde bulunduğu giriş kontrolü grubudur.
       
  9. RangeValidator - System.Web.UI.WebControls.RangeValidator

    Bir üst maddede belirtilen yeni özelliklerin yanı sıra;

    • CultureInvariantValues - Özellik, boolean

      Girilen değerin web sitesi ile ilgili tanımlanmış "Culture" özelliğine göre mi kontrol edileceği, yoksa olduğu gibi mi kontrol edileceğinin tanımlandığı özelliktir.
       
Not: "ValidationGroup" özelliği, Validator'lar tarafından kontrol edilebilen tüm kontrollere eklenmiştir. Tekrar tekrar yazılmaması için her kontrolün yeni özellikler tanımlanmasında yazılmamıştır.


Coskun SUNALI
http://net.tr.gen.tr