Posts

Posts uit augustus, 2012 tonen

[MVC] ViewData, TempData en ViewBag

In MVC zijn er verschillende manieren om data van de Controller in de view te krijgen. Eén mogelijkheid is om gebruik te maken van ViewData, TempData of de ViewBag. Het was niet geheel duidelijk wat nu precies het verschil is tussen deze datahouders, dus heb ik het even uitgezocht. ViewData wordt gebruikt in één controller en kan vervolgens weer worden opgevraagd vanuit de View. Als er in de controller een redirect zou plaatsvinden naar een andere action, dan verliest ViewData zijn waarde. public ActionResult Create() { // Sla waarde op in ViewData ViewData["Error"] = "Fout opgetreden bij het het aanmaken van ..."; // Redirect naar de index return RedirectToAction("Index"); } public ActionResult Index() { // De variabele error is leeg var error = ViewData["Error"]; } De ViewBag is geïntroduceerd in MVC 3 en heeft dezelfde eigenschappen als de ViewData (na een redirect is het weer een leeg object). Het gebruik van de ViewBag is