Por lo que he leído, la información colocada en TempData estará allí para la solicitud actual y la próxima solicitud (para que pueda pasar información a través de redireccionamientos). El problema es que si busco una acción de controlador que no redirija, la información en TempData seguirá allí para la próxima solicitud. Estoy usando TempData para almacenar mensajes informativos que se muestran al usuario, por lo que ahora recibo los mensajes de la primera pantalla en la segunda pantalla también.ASP.NET MVC: borrar TempData después de ejecutar un método de controlador
¿Hay un buen momento en el ciclo de vida del controlador para borrar TempData una vez que ya no se usa?
Pero, ¿y si mi acción de controlador _es_ redireccionando? No puedo usar ViewData en ese caso porque los mensajes ya no están allí. ¿Hay una manera mejor de tratar con mensajes de visualización como este que almacenarlos en TempData/ViewData? –
Necesita usar ViewData cuando no está redirigiendo y TempData cuando está redirigiendo. En ambos casos, todo lo demás es automático. Para mostrarlo, escriba TempData ["key"] ?? ViewData ["key"] en su vista. –