ViewData vs ViewBag vs TempData vs Session
In MVC there are three ways - ViewData, ViewBag and TempData to pass data from controller to view . We can also use Session to persist data during a user session. ViewData ViewData is a dictionary object that is derived from ViewDataDictionary class. public ViewDataDictionary ViewData { get; set; } ViewData is a property of ControllerBase class. ViewData is used to pass data from controller to corresponding view. It’s life lies only during the current request. If redirection occurs then it’s value becomes null. It’s required typecasting for getting data and check for null values to avoid error. ViewBag ViewBag is a dynamic property that takes advantage of the new dynamic features in C# 4.0. Basically it is a wrapper around the ViewData and also used to pass data from controller to corresponding view. public Object ViewBag { get; } ViewBag is a property of ControllerBase class. It’s life also lies only during the curren...