Tengo un controlador que maneja tres acciones que son específicas de mi problema.Redirigir a la acción y necesidad de pasar datos
La primera es la acción de edición que devuelve una vista con un formulario HTML que el usuario puede editar las propiedades en el elemento dado.
La segunda es la acción de actualización que acepta la publicación desde el navegador y actualiza la base de datos. Cuando la actualización es exitosa hacemos un redireccionamiento a la acción.
La tercera es la acción de mostrar que muestra los detalles del artículo dado. Esta acción es donde nos redireccionan después de una actualización exitosa.
El flujo es:
Mostrar -> Editar -> Actualizar (Éxito: Y -> redirigir a Show, n -> volver Editar)
Lo que quiero lograr es tener una bandera disparado cuando la actualización fue exitosa, de modo que en la próxima vista Mostrar pueda mostrar un mensaje de confirmación para el usuario. El problema es que no estoy 100% seguro de la mejor manera de llevar esos datos a través de la llamada RedirectToAction(). ¿Un pensamiento que tuve fue utilizar una cadena de consulta? Ya estamos llevando variables con la cadena de consulta para otro propósito pero parte de mi es escéptico para abusar de eso. La llamada a la redirección está a continuación.
RouteValueDictionary dict = Foo.GetRouteValues(bar);
RedirectToAction("Show", dict);
He leído esta pregunta también pero estoy preocupado sobre el uso de la propiedad TempData si no es necesario.
Gracias por algunas sugerencias!
Gracias por la buena explicación. Voy a echar un vistazo al artículo ya que estamos en 2.0. Mencioné en mi publicación que quería mantenerme alejado de la propiedad TempData; sin embargo, si ese es el camino defacto, tal vez no sea tan malo. Gracias de nuevo. –
Esta es una pregunta anterior, pero el enlace está roto ahora :( –
Enlace de trabajo moderno (ish) para ese artículo (desplácese aproximadamente hasta la mitad): http://msdn.microsoft.com/en-us/library/dd394711 (v = vs.100) .aspx – Jaxidian