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

Abdul
  • 1,416
  • 9
  • 26
  • 57

3 Answers3

25

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

TempData.Remove("USD");
Abdul
  • 1,416
  • 9
  • 26
  • 57
3
var value = filterContext.Controller.TempData["value"];
filterContext.Controller.TempData.Remove("value");
huse.ckr
  • 530
  • 12
  • 39
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,216
  • 1
  • 20
  • 23