ASP.NET / YENİ ASP.NET 2.0 KONTROLLERİ - 2 (NAVIGATION, LOGIN & WEBPARTS KONTROLLERİ)
Bu makalede, uzun zamandır eksikliği hissedilen bazı navigation kontrolerini, kullanıcı kontrolüne yönelik işleri oldukça kolaylaştıran login kontrollerini ve kişiselleştirmeye yönelik olan WebParts kontrollerini inceliyoruz.
YENİ ASP.NET 2.0 KONTROLLERİ - 2 (NAVIGATION, LOGIN & WEBPARTS KONTROLLERİ)
Makale dizisimizin birinci bölümünde standart kontrolleri ve data kontrollerini incelemiştik.
Bu makalede kaldığımız yerden devam ediyoruz ve uzun zamandır eksikliği hissedilen bazı navigation kontrolerini, kullanıcı kontrolüne yönelik işleri oldukça kolaylaştıran login kontrollerini ve kişiselleştirmeye yönelik olan WebParts kontrollerini inceliyoruz.
Bölüm 3: Navigation Kontrolleri
SiteMapPath kontrolü kullanıcının o andaki bulunduğu yeri navigasyonel hiyerarşi içinde gösterir. Her seviye bir bağlantı içerir ve böylece kullanıcı istediği bölüme kolayca geçebilir. SiteMapPath kontrolünün sayfadaki görünümü aşağıdakine benzer olacaktır.
Bilgisayar > Yazılım > Yardımcı Programlar > Virüs Tarama
ASP.NET uzun süredir bir Menu kontrolüne ihtiyaç duymaktaydı ve artık bir tane var! Bu hiyerarşik menü kontrolü sayfada yatay veya dikey olarak konumlandırılabiliyor. Bu kontrolü bir veri kaynağına bağlayarak yahut doğrudan elemanlar ekleyerek kullanabilirsiniz.
Aşağıda Menu kontrolü kullanılarak hazırlanmış bir menü görüyorsunuz:
İnceleyeceğimiz son navigation kontrolü olan Treeview kontrolü çoğu modern programlama dillerinde klasik olarak bulunan bir kontrol olmasına karşın ASP.NET 1.x içerinde böyle bir kontrole rastlayamamıştık. Bu eksiklik ASP.NET 2.0 ile birlikte giderildi. Bu kontrol kullanarak ağaç görünümünde düğümler oluşturmak mümkün kılınıyor.
ImageSet özelliği ile düğümlerde kullanılacak resimler belirlenebilir. Bir düğüme tıklandığında SelectedNodeChanged olayı devreye giriyor, bunun karşılığında ise ya bir postback olayı meydana getireceksiniz yada bir URL'ye yönlendireceksiniz. Ayrıca her düğüm bir checkBox kontrolü de içerebilir.
Bölüm 4: Login Kontrolleri
Login kontrolü, belki de daha önce onlarca kez hazırladığınız gibi bir kullanıcı adı ve şifre ekranı sağlar. Ancak, artık bir daha bunları oluşturma ihtiyacımız olmayacak gibi görünüyor.
Aşağıda bu kontrol ile oluşturulmuş bir Log In ekranı görüyorsunuz:
LoginView kontrolü kullanıcıların oturum açıp açmamalarına bağlı olarak iki farklı içerik sunar. Eğer kullanıcı oturum açmışsa LoginView kontrolü içerisinde oturum açmış olan kullanıcıların kullanabileceği kontroller mevcuttur. Aksi durumda, henüz oturum açmamış olan kullanıcılara sunmak istediğiniz kontroller görüntülenir.
Çoğu sistem, kullanıcılarına şifrelerini unutmaları durumunda; şifrfelerini yeniden hatırlatmak için bir yol sunar. PasswordRecovery kontrolü de tamamıyla bu işe yarar. Bu esnek kontrol çok çeşitli teknikleri (özel soru ve cevabı, e-mail ile şifre yollama ya da yeniden şifre oluşturma gibi) destekler.
LoginStatus kontrolü iki farklı şekilde görünür. Eğer kullanıcı oturum açmamışsa, oturum açma sayfasına bir bağlantı sunar. Eğer kullanıcı oturum açmışsa oturumu kapatabilmesi için bir bağlantı sunar.
LoginName kontrolü kullanıcılar oturum açtıklarında kullanıcı ismini görüntüler. Bir kullanıcı oturum açmamış ise bu kontrol, çalışma zamanında sayfada görüntülenmez.
CreateUserWizard kontrolü sisteme yeni bir kullanıcı kaydedebilmek için genellikle talep edilen bilgileri içeren bir yapı sunar. İstenilen extra alanlar yapıya dahil edilebilir. Ayrıca kullanıcı kayıt işlemini birden fazla adıma bölmenize de imkan tanır.
ChangePassword kontrolü üç TextBox kontrolü ile gelmektedir. Bu textbox kontrollerinin birisi eski şifrenin girilmesi için diğer ikisi ise yeni şifrenin girilmesi amacıyla kullanılacaktır. Bu kısa anlatımdan da anlaşılabileceği gibi bu kotrol kullanıcının şifresini değiştirebilmesi için bir yapı sunar.
Bölüm 5: Webparts Kontrolleri
WebPartManager kontrolünün amacı sayfa üzerinde bulunan tüm WebPart kontrollerini yönetmek ve düzenlemektir. Bu nedenle çalışma zamanında sayfa üzerinde görüntülenmez.
WebPartZone kontrolünün tüm örnekleri bir veya daha fazla WebPart kontrolünün üzerinde barındırabilir. Her bir WebPart kontrolü minimize edilebilir, taşınabilir, silinebilir. Ayrıca her kullanıcı kendi zevkine göre hoşlandığı şekilde bu kontrolü özelleştirebilir ve bir dahaki sayfa ziyaretinde bunların hatırlanması sağlanabilir.
CatalogZone kontrolü DeclarativeCatalogPart, PageCatalogPart ve ImportCatalogPart gibi CatalogPart kontrolllerini bünyesinde barındırır. Tüm bu kontroller kullanıcının seçip onların sayfalarına ekleyebileceği WebPart katalogları oluşturmak için kullanılır.
EditorPart kontrolleri (AppearanceEditorPart, BehaviorEditorPart, LayoutEditorPart ve PropertyGridEditorPart gibi) sadece EditorZone kontrolü üzerinde yer alabilirler. Bu kontroller kullanıcının sayfayı düzenlemesi ve özelleştirebilmesi için kullanılır.
ConnectionZone kontrolü ConnectionPart kontrollerini içerir. Bu kontrol, sayfada bulunan WebPart kontrolleri arasında bağlantı kurmaya yarar. Birinden diğreine bilgi aktarımını sağlar.
Böylece ASP.NET 2.0 ile birlikte gelen yeni kontroller hakkında temel bir bilgi kazandığınız kanaatindeyim. Herkese faydalı olması dileğiyle...