Asp.Net 4.0 ile gelen hazır şablonları kullanarak hızlı bir şekilde admin paneli nasıl oluşturulur ?
Biz yazılımcılar genelde admin panelinde görsel öğelere pek önem vermeyiz. Bunun yerine veri tabanımızdaki her veriye hızlıca ulaşabilmek ve anında düzenleme yapabilmek isteriz. İş böyle olunca sadece yönetici için bir sürü kod yazmak gerekiyor. Bir kişinin kullanacağı bir panel için bu kadar kod yazmayı kimse istemez işin açıkcası, neticede bir ihtiyaç yazılması gerekiyor... Peki o zaman şimdi .Net 4.0 ile gelecek olan bir şablonu inceleyelim, anında admin paneli oluşturma nasıl oluyormuş görelim...

Yeni bir web projesi eklemeye kalktığımızda yukarıdaki şablonlaru görüceğiz. En altta iki seçenek biraz önce bahsettiğimiz şablon. İkisi arasında çok bir fark yok işin açıkcası, sadece veri tabanına bağlanış ve verileri çekiş kısmı arka planda farklılık gösteriyor. İleri seviye kullanıcılar için, kod yazılması gerektiği durumlarda bu önem arz ediyor. Onun dışında sadece hızlıca bir admin paneli yada herkese açık bir panel düşünüyorsak çokda önemli değil. Ben burda Dunamic Data Linq to Sql Web Site 'yi seçeceğim. Onay verdikten sonra projemde aşağıdaki resimde de gördüğünüz gibi nesneler oluşucak, buraya kadar normal bir web sitesi gibi gözüküyor.

Projemiz üstünde sağ tuşa basıp add new item komutunu vererek resimdede gördüğünüz gibi bir linq to sql nesnesini projemize ekleyeceğiz. Eğer projemizi oluşturma kısmında alttakini seçmiş olsaydık, linq to sql yerine ado.net entity data modelini kullanacaktık.

Linq to sql nesnemizi ekledikten sonra veri tabanımızdan tablolarımızı Server Explorer ile linq to sql'in içine sürükleyip bırakıyoruz.

Tablolarımızı yani Linq to Sql nesnemizin yani oluşturduğumuz adı ile DataClasses1 'in içine sürükleyip bıraktıktan sonra aslında işin büyük kısmı bitmiş oluyor. Şimdi geriye sadece Global.asax dosyamızın içerisindeki ufak bir değişiklik kalıyor. Yorum satırları içerisine yazılmış olan...
//DefaultModel.RegisterContext(typeof(YourDataContextType), new ContextConfiguration() { ScaffoldAllTables = false });
satırını öncelikle başındaki slaşları kaldırarak yorum olmaktan çıkarıyoruz, daha sonra aşağıdaki gibi değiştiriyoruz.
DefaultModel.RegisterContext(typeof(DataClasses1DataContext), new ContextConfiguration() { ScaffoldAllTables = true });
Yaptığımız değişiklik şu birincisi veri modelimizin ismini belirttik DataClasses1DataContext, ikincisi satırın sonunda false olan değeri true yaptık. İşte sitemizin tasarım kısmı bu kadar...
Ne ? Olmazmı öyle şey ? Peki o zaman projeyi derleyip çalıştırın ve görün :)

Gördüğünüz gibi bütün tablolarım sitemin içerisine gelmiş, şimdi birde tabloların içeriğine bakayım...

Tablomun içeriğinde hangi datalar varsa hepsini uygun formatlarda listeledi. Örneğin bit değerleri check box koyarak, içerikleri text şeklinde gösterdi. Şimdi altını çizdiğim kısım bizim kod yükümüzün hepsini azaltarak bize yardımcı oluyor.
Edit linkine basarsak o satıra hiç kod yazmadan çok basit bir şekilde düzeltme işlemi uygulayabiliyoruz. Delete linki adında anlaşılacağı gibi direk silme işlemi yapıyor. Details kısmı ise içeriğin daha detaylı bir şekilde tek olarak gözükmesini sağlıyor, yani listelenmiş datalar içinde değilde sadece o satırın detaylı bir şekilde geniş geniş gözükmesini sağlıyor. Benim tablomda relationship'ler yok aslında ama şayet tablolarım birbirine bağlı olmuş olsaydı burda bağlı olan kısmıda görebilecektik. Ve çok kolay bir şekilde ilişkili tablolar arasındaki ortak verileri görebilecektik. En altta ise insert new item seçeneğini kullanarak aşağıdaki gibi yeni bir veri ekleyebiliyoruz

Gördüğünüz gibi hızlı verilerimizi hızlı bir şekilde sitede işlenebilir hale dönüştürdük. Ben bu admin panelini bir haber sitesi için oluşturdum. Burada gördüğünüz kontrollerin hepsi değiştirilebilir, örneğin textbox yerine combox konabilir yada standart olarak ingilizce gelen başlıklar düzenlenerek türkçe yapılabilir, genişlikler yükseklikler tek tek ayarlanabilir. Yani geniş bir esnekliğe sahibiz. Hazır bir web site yapmak hiç bu kadar kolay ve işlevsel olmamıştı. Tabiki unutmamak gerekir, bunu Visual Studio 2010 beta 2 ile gelen kontroller ve şablonlar sayesinde yapabildik. 2010 tam sürüm olduğu zaman bu kullandığımız kontroller ve nesneler değişiklik gösterebilir, ama neticede bu değişimler artı yönde olacağı için geleceğin teknolojisini bu günden takip etmek lazım... Herkese iyi çalışmalar...
Mehmet Bilen |
enver_emb@hotmail.com |
http://MehmetBilen.Com