TempData ne détruira pas après la deuxième demande
Je suis en train de mettre une valeur dans TempData lors de la première demande dans un actionfilter.
filterContext.Controller.TempData["value"] = true;
après qu'une deuxième demande et je le contrôle de la valeur
filterContext.Controller.TempData.ContainsKey("value")
la valeur est là. Puis une troisième demande et je le vérifier de nouveau la valeur
filterContext.Controller.TempData.ContainsKey("value")
et la valeur est toujours présent. Ne devrait pas être de cette valeur détruite après la seconde demande ? Toutes les requêtes sont des requêtes AJAX.
source d'informationauteur user49126
Vous devez vous connecter pour publier un commentaire.
Seulement si vous avez bien lu:
Si vous ne lisez pas la valeur de la TempData de ne pas être expulsés.
Voici comment le
TempData.Items
de lecture est défini:Remarquez que la valeur va être expulsés que si vous appelez de la lecture et seulement si la valeur a été trouvé dans la collection. Dans le code que vous avez montré tout ce que vous faire est de vérifier que les TempData contient une clé donnée, mais vous n'avez pas lu la valeur de cette clé.
Vous pouvez manuellement supprimer le TempData valeur si vous le souhaitez:
Et il y a aussi une méthode qui permet de lire la valeur sans le supprimer: