Mvc dünyasına yeni giriş yapıyorsak belkide kafamızı en çok karıştıracak konu dataların bölümlerin arası taşınmasıdır.
Hiç merak etmeyin eksiğiniz olan sadece bikaç teknik uygulama yaptıkça kafanıza iyice yerleşecektir.
Burda karıştırmamamız gereken verileri View den Controller a aktarmıyoruz.Eğer böyle bir isteğiniz varsa View den Controller a veri aktarma başlığına geçiniz.
Veri transferinin yolunu belirdiysek gelelim şimdi data taşıma yollarına.
kullanım şekli
ViewData["Degiskenİsmi"]="Bilgi Yolunda";
ViewBag nesnesini dinamik(dynamic) tipte bir nesne olduğundan dolayı, olası hatalar Compile Time(derleme zamanı)’da değil Run Time(çalışma zamanı)’da yakalanacaktır.Bu fark yanında söz dizimiyle beraber teknik açıdan ViewData nesnesinden hiç bir farkı yoktur.
-Kısacası derlemede değil çalışma anında hata alırız.
Kullanım şekli
ViewBag.DegiskenAdi="Bilgi Yolunda";
ViewBag nesnesi Run Time’da oluşan ve dinamik bir yapı sergileyen veri taşıma nesnesidir.
ViewData ile çalışma mantığı olarak bir fark yoktur.
kullanım şekli
TempData["degiskenAdi"] ="Bilgi Yolunda";
TempData nesnesine gelirsek eğer, diğer ikisine nazaran en büyük farkı yaratmaktadır.ViewBag ve ViewData nesneleri o anki HTTP istek içerisinde geçerlidir ve yaşam döngüleri bir sonraki isteğe kadardır.Haliyle genellikle tek Action metod ve o Action metoda bağlı View üzerinde tek seferlik işlev görmektedirler.Lakin TempData nesnesi, o anki HTTP ister tarafından üretilip bir ve birden fazla View ve Action üzerinde kullanım esnekliği sunmaktadır.Bu anlamda yaşam döngüsü diğer ikisine nazaran daha geniştir.
-En büyük farkı derleme anında kontrol edilir.
Paylaştıgım video,dosya yada projelerle ilgili sorularınızı buradan sorabilirsiniz.
Not:Projemi siz yaparmısınız demeyin lütfen :)
Yorum Yap :