Temp data - It helps to maintain data when you move from one controller to another controller or from one action to another action. In other words when you redirect, tempdata helps to maintain data between those redirects. It internally uses session variables.
View data - These helps to maintain data when you move from controller to view.
View Bag - This is a dynamic wrapper around view data. When you use Viewbag type, casting is not required. It uses the dynamic keyword internally.
Dynamic Keyword
Session variables - With the help of session variables we can maintain data from any entity to any entity.
Hidden fields and HTML controls - These helps to maintain data from UI to controller only. So you can send data from HTML controls or hidden fields to the controller using POST or GET HTTP methods.
Here, below this is a summary table that shows the different mechanisms for persistence.
Maintains data between
ViewData/ViewBag
TempData
Hidden fields
Session
Controller to Controller
No
Yes
No
Yes
Controller to View
Yes
No
No
Yes
View to Controller
No
No
Yes
Yes
Join MindStick Community
You need to log in or register to vote on answers or questions.
We use cookies to ensure you have the best browsing experience on our website. By using our site, you
acknowledge that you have read and understood our
Cookie Policy &
Privacy Policy.
Temp data - It helps to maintain data when you move from one controller to another controller or from one action to another action. In other words when you redirect, tempdata helps to maintain data between those redirects. It internally uses session variables.
View data - These helps to maintain data when you move from controller to view.
View Bag - This is a dynamic wrapper around view data. When you use Viewbag type, casting is not required. It uses the dynamic keyword internally.
Dynamic Keyword
Session variables - With the help of session variables we can maintain data from any entity to any entity.
Hidden fields and HTML controls - These helps to maintain data from UI to controller only. So you can send data from HTML controls or hidden fields to the controller using POST or GET HTTP methods.
Here, below this is a summary table that shows the different mechanisms for persistence.