Asp.net MVC Controller’dan View’a Veri Gönderme

Asp.net MVC Controller’dan View’a Veri Nasıl Gönderilir ? Hangi yollarla gönderilir ?  ViewData ile TempData’nı farkı nedir ?

Controller’dan Viewa veri göndermenin bir çok yolu bulunmakta bu yazımızda ViewBag,ViewData,TempData kavramlarına odaklanıyor olacağız ve kavramları arası farklılıklar nelerdir.

Örnek üzerinden anlatmak gerekirse daha anlaşılır olacaktır , Öncelikle HomeController adında bir controller ve bir view oluşturuyorum.

İlk önce ViewData‘yı görelim. Bu özellikte [key,value] yapısıyla çalışmaktadır istediğimiz data,anahtarın viewa taşınmasını sağlar. Kullanımı ise gayet basittir ;

Controller Tarafında : ViewData[“SiteName”]  = “CtrlDelete.Net”

View Tarafında : @ViewData[“SiteName”]

 

Diğer bi yöntem ViewBag;

Controller Tarafında : ViewBag.SiteName  = “CtrlDelete.Net”

View Tarafında : @ViewBag.SiteName

 

Bir diğer yöntem TempData;

Controller Tarafında : TempData[“SiteName”]  = “CtrlDelete.Net”

View Tarafında : @TempData[“SiteName”]

 

Peki ViewData ile TempData’nı farkı nedir ?

TempData ile tutulan veriler başka bir action’a eğer yönlendiğinde TempData halen saklanmış olur. Örneğin bir link ile başka bir sayfaya  yönlendirme yaparsanız ViewData ile ViewBag kullanılamayacaktır. Ancak TempData saklanmaktadır oda 1 sayfa yönlendiğinde tutmaktadır. 2. bir sayfaya yönlendirildiğinde oda silinmektedir. Mrnek vermek gerekirde Index sayfasındasınız bir linke tıklayıp About sayfasına gittiniz TempData halen saklanmaktadır , About sayfasında bir linke tıklayıp Register sayfasına gittiğinizde TempData’da silinicektir.

 

Paylaş

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.