Estoy tratando de pasar un string
al azar desde mi Controller
al View
.Uso de ViewData para pasar cadena de Controlador a Vista en ASP.NET MVC3
Aquí es mi Controller
código:
[HttpPost]
public ActionResult DisplayForm(UserView user)
{
//some data processing over here
ViewData["choice"] = "Apple";
return RedirectToAction("Next", "Account");
}
Ahora quiero pasar ese valor de dato "Apple" a mi modo de ver Next.cshtml
que se crea de la siguiente manera:
//View: Next.cshtml
@{
ViewBag.Title = "Thanks for registering";
Layout = "~/Content/orangeflower/_layout.cshtml";
}
<p>Your favorite fruit is:</p>@ViewData["choice"]
pero no soy capaz para ver mis datos en el navegador cuando se ejecuta el proyecto.
Aquí es la instantánea:
1) En la depuración, el controlador muestra el valor:
2) La vista del navegador no muestra el valor de la "Apple"
3) En la depuración adicional de mi Next.cshtml
Ver:
¿Por qué el valor no se pasa a la vista correctamente? Mis dos controladores para Next
y DisplayForm
están dentro del mismo Controlador AccountController.cs
, aún no se muestra el valor.
¿Alguien me puede ayudar a resolver esto?
ohh, así que necesito escribir la vista de retorno ("Siguiente", "Cuenta") según mi código correcto si no estoy redirigiendo? –
@ParthDoshi, sí, si desea usar ViewData directamente. Pero si desea mantener el patrón Redirigir-Después-Publicar puede usar TempData como se muestra en mi respuesta. –
gracias, funcionó !! :) –