ViewBag, ViewData ve TempData

ASP.Net MVC Core, C#, Ado.Net, Entity Framework, Windows Form, SQL Server, Console, HTML, CSS, JQuery, Web Api
Cevapla
Kullanıcı avatarı
AzS
1500+
1500+
Mesajlar: 8938
Kayıt: 02 Ağu 2019 08:10

ViewBag, ViewData ve TempData

Mesaj gönderen AzS »

ViewBag, ViewData ve TempData nitelik olarak aynı işlemleri yapar. Bu nesneler temel olarak Action Result sınıflarının içerisinde yer alan bir değişkenin değerini bağlı bulunduğu View'e taşımak için kullanılmaktadır. Hepsinin kullanım şekli farklıdır. Ayrıca kullanım yerleri de farklılık göstermektedir. Ancak bilinmesi gereken en önemli kısım, değişken değerlerinin taşınmasını sağlamasıdır.

ViewBag, ViewData: Küçük boyuttaki verileri View'e taşımak için kullanılır. ViewBag dinamik bir yapı olup runtime sırasında oluşur ve tip dönüşümüne gerek yoktur. ViewData, ViewDataDictionary sınıfının string yapısında tanımlanır.

Viewbag değişkenin kullanacağı key arasında boşluk bırakılamaz. Fakat ViewData nesnesinin key'inde bırakılabilir. Örnek olarak:

ViewBag.Ad Soyad= "Merhaba"; // Ad Soyad aradaki boşluktan dolayı hata verir doğru yazım şekli ViewBag.AdSoyad= "Merhaba";

ViewData["Ad Soyad"]= "Merhaba"; // Bu kısım hata vermez

TempData: TempData da yine Controller'den View'a veri taşımak için kullanılır. TempData, TempDataDictionary sınıfında türetildiği için string bir nesnedir. Bu nesneyi diğer nesnelerden (ViewBag, ViewData) ayıran en büyük özelliği Controller arası veya ActionResult'lar arası veri geçişi sağlayabilmesidir.

TempData["Mesaj"]= "Merhaba";

Not: ViewBag ve ViewData kendi View'larına veri taşımak için kullanılmaktadır. Ancak TempData başka bir View'a tek seferlik veri taşımak için kullanılmaktadır.
Cevapla

“Yazılım Uzmanlığı Ders Notları” sayfasına dön