Controllerdan View a Veri Taşıma


15.01.2019 15:05:31 Asp Net MVC Uygulamaları Bilgi Yolunda

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.Smile

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.

ViewData

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.

ViewBag

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.

TempData

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.





Robotik Kodlama Eğitimi

Video Eklenmedi.



Yorum Yap :


Robotik Kodlama Eğitimi

Site içi Arama


En Çok Okunanlar

Sorusu Olan Varmı?

Paylaştıgım video,dosya yada projelerle ilgili sorularınızı buradan sorabilirsiniz.
Not:Projemi siz yaparmısınız demeyin lütfen :)

Sorunuz mu var?