Merhaba arkadaşlar, MVC framework ile uğraşıyorsanız karşınıza çıkacak olan konulardan birini incelemeye çalışacağız bu yazımda.
ViewData Nedir ve Niçin Kullanılır?
Biliyorsunuz ki MVC framework'de katmanlı mimari daha sistematik bir şekilde kullanılmaktadır.
Yani neydi bu ;
Model sadece Database şemasını tutan bir yapıydı,
Controller, View'lar ile Model arasında veri alışverişini yapmakla mükellef olan yapıydı,
View, kullanıcı arayüzlerini tutan yapıydı ve Controller'dan gelen verileri göstermekle yükümlüydü.
Peki ya View'larımız göstereceği yada kullanacağı bu verileri Controller sınıfından nasıl alacaktı. İşte bu noktada ViewData nesnesi kullanılmaktadır.
ViewData'nın kullanımı tıpkı Session kullanımı gibidir. Ancak Session gibi bir kere oluşturulduktan sonra istediğin her sayfada kullanamazsın ViewData o an oluştulur ve sayfa yüklendikten sonra kendini imha eder.
Controller sınıfının içinde ViewData nesnesi nasıl oluşturulur ve değer aktarılır ona bakalım:
ViewData["MakaleBaslik"] = "MVC ViewData Nedir?";
Gördüğünüz üzere Session nesnesi tanımlamaktan hiçbir farkı yok. Bu ViewData nesnesini Controller sınıfında herhangi bir nesne ile doldurtuktan sonra gelelim bunları View'larımızda nasıl kullanabileceğimize.
Mesela Controller sınıfından gelen ViewData nesnesi nasıl ekrana yazdırılır:
<%= ViewData["MakaleBaslik"] as string %>
ViewData nesnesi object olduğu için onu ne olarak görmesi gerektiğini bildirmeniz yeterlidir. Benim as string demem gibi.
Gördüğünüz gibi bu kadar kolay.
ViewData nesnesi MVC'ye bağlı olduğu için eğer herhangi bir class'da kullanmak isterseniz sınıfınıza;
System.Web.MVC kütüphanesini eklemeniz gerekmektedir.