ViewBag est NULL après RedirectToAction (+ réinitialisation de ViewBag)

J'ai RedirectToAction comme valeur de retour dans un controller et dans ma vue J'utilise ViewBag. Alors que C'est un problème bien connu que ViewBag devient vide après une RedirectToAction. J'ai un problème lorsque je réinitialise les valeurs de ViewBag dans mon contrôleur surchargé dans la méthode OnActionExecuting. ViewBag est à nouveau vide. Mais le problème est que sur mon PC local (win7) ça marche bien mais sur le serveur d'hébergement web (win 2008) ça plante. Donc peut-on aider en disant ce qui peut provoquer cela? C'est peut-être un réglage ou quelque chose?

20
demandé sur Rap 2012-04-11 19:49:16

2 réponses

le ViewBag et la ViewData ne survivent qu'à la requête actuelle. TempData est la chose à utiliser lorsque vous utilisez redirects (et alors seulement): http://rachelappel.com/when-to-use-viewbag-viewdata-or-tempdata-in-asp.net-mvc-3-applications déclare clairement:

[...] L'objet TempData fonctionne bien dans un scénario de base:

  • passer des données entre les requêtes HTTP en cours et les prochaines
42
répondu Erik A. Brandstadmoen 2012-08-15 12:17:25

il y avait une exception profonde à l'intérieur de la couche de données qui a été incorrectement capturée et donc empêchée de propagation mais a causé la disparition du bloc de vue.

alors soyez prudent avec les exceptions.

1
répondu drunkcamel 2012-12-16 12:20:50