Actualmente tengo un método en mi controlador que acepta una colección de formularios, guarda los datos y luego los muestra en la página 'Detalles'. Por el momento, el código actualmente se ve algo como:ASP.NET MVC Redirigir con modelo
[HttpPost]
public ActionResult Create(PersonModel person)<br>
{
if (person.IsValid())
{
person.additionalData = "Person created successfully";
return View("Details", person);
}
}
El problema es que la devolución de la vista Detalles de esta manera retiene la URL mysite/persona/Crear - idealmente me gustaría que el URL para ser mysite/persona/Detalles/IdGoesHere.
Estoy seguro de que esto debe ser posible. Obviamente, podría usar Response.Redirect, sin embargo, esto no me permite pasar el modelo a la vista. Por lo que puedo decir, no puedo pasar el modelo usando RedirectToAction?
Gracias por la ayuda.
EDITAR: Para confirmar: el modelo producido por la acción Crear es diferente al creado por la acción Detalles. Por lo tanto, hacer un redireccionamiento directo a Action y pasar el Id no funciona, ya que el modelo producido no es correcto. Para dar más contexto, el modelo de la acción Crear contiene un valor adicional que dice 'Persona creada con éxito', si redirijo a la acción Detalles, este mensaje no está presente en el modelo.
Este es el camino a seguir.Si un mensaje simple en tempdata no es suficiente, puede simplemente arrojar todo el objeto 'PersonModel' en tempdata y recuperarlo de tempdata en su método de acción' Details'. – Charlino