10

How to clear specific TempData in asp.net mvc. I am using more than two TempData var. I can to clear specific some of them.

TempData["USD"] = "updated";
TempData["EUR"] = "updated";
TempData["PKR"] = "updated";

TempData.Clear() will clear all TempData, how to do this for specific

trighati
  • 1,306
  • 8
  • 20
  • 55

3 Answers3

22

just this worked for me fine, only removed TempData["USD"]

TempData.Remove("USD");
trighati
  • 1,306
  • 8
  • 20
  • 55
3
var value = filterContext.Controller.TempData["value"];
filterContext.Controller.TempData.Remove("value");
huse.ckr
  • 492
  • 10
  • 37
1

Alternative way of removing TempData, when using dynamic key name,

Eg:

UserModel model = new UserModel(); //Declare
model.UserId = 12;
model.UserName = "Karthik";
TempData["UserModel_" + model.UserId] = model.UserModel; //Assign

To get value from TempData,

UserModel model = new UserModel(); //Declare
model.UserId = 12;
model = (UserModel)TempData["UserModel_" + model.UserId];  //Get
TempData.Keep("UserModel_" + model.UserId);

Remove TempData without knowing dynamic key name,

foreach (var key in TempData.Keys.ToList())
{
    TempData.Remove(key);   
}
Karthikeyan P
  • 1,057
  • 1
  • 18
  • 22