What is TempData:
TempData in ASP.Net MVC is dictionary object derived from TempDataDictionary. TempData class which retains the values for subsequent HTTP requests where as ViewBag and ViewData retains value only for the current request.Important Note:
The important point here is TempData stores it values in session. In that case you may think What’s the difference between TempData in ASP.NET MVC and Session?” or “Why we have TempData dictionary object?, Why can’t we use the Session object directly?”The answer is simple. TempData gets destroyed sooner than the session object. That's whenever it is used(read) in subsequent HTTP request that is in the next controller then it will automatically get destroyed whereas session objects exists until we manuallyt destroys it. But if needed we can persist the tempdata for subsequent requests too. I will explain how to persist the tempdata in asp.net mvc in my next article.
When we can use TempData?
1. TempData is mainly used when we need to pass values from one controller action to another controller action.
2. And also if we need to pass error messages to an error page we can use TempData(Again it is nothing but controller to controller redirection)
Here i will explain how to add values into TempData, how to read values from TempData and how to send values from one controller to another controller using TempData.
1. I have created a new project in Visual Studio 2013 and named it as TempDataExperiment.
2. And in the next screen i have selected Empty template and selected MVC in Ad folders and core references for block.
3. Now i have added a model class called Student.cs and added the required properties. Below is the model which i defined.
4. Now inside Controller folder i have added the controller StudentController.cs and i have defined the three controller actions. On the first action i am showing Add TempData & Redirect Button. While clicking on it it will redirect to the next controller action
Below is the controller code.
Below is the razor view code for first action and the third action.
Comments
Post a Comment