Tratando de utilizar “ViewBag” dentro de un “Controller”, tenía lo siguiente:

ViewBag.HayErrores = "verdadero";
return RedirectToAction("OtraAccion");

En la página “OtraAccion” el valor de “ViewBag.HayErrores” ya no existe.
Esto se debe a que los “ViewBag” no son persistentes al realizar la redirección.

Para utilizar un valor temporal que sobreviva a la redirección, debes utilizar “TempData”, para nuestro ejemplo quedaría así:

TempData["HayErrores"] = "verdadero";
return RedirectToAction("OtraAccion");

Y después en tu “View” puedes checar el valor utilizando “Razor”. Solamente tienes que checar primero que el valor no sea nulo, de esta forma:

var HayErrores = "";
if (TempData["HayErrores"] != null) 
{
   HayErrores = TempData["HayErrores"].ToString();
}
if (HayErrores == "verdadero") 
{
   <h3> Error </h3>
   Hay un error, por favor vuelve a intentarlo.
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


1 × = dos