2010-09-29 12 views
6

Estoy publicando un formulario de una vista parcial que se representa a través de Html.RenderAction y quiero después de la publicación del formulario redirigir a la misma ruta de donde vino la solicitudcómo redirigir a la misma ruta (de donde vino la solicitud) en asp.net mvc

public ActionResult Index() 
{ 
    return PartialView(); 
} 

[HttpPost] 
public ActionResult Index(FormModel input) 
{ 
    ... 
    return //Redirect to the same route 
} 

¿Alguien sabe cómo hacer eso?

Respuesta

2

Se podría recuperar el UrlReferrer de la solicitud objeto:

return Redirect(HttpContext.Request.UrlReferrer.OriginalString); 
+0

funciona, pero perder los valores que estaban en las formas, que no se devuelven – Omu

+0

Agregue los datos del formulario a TempData. A continuación, puede recuperar esto después de la redirección. – Castrohenge

1

Agregaría una cadena de consulta a la publicación del formulario, que puede usar para hacer la redirección en la acción del controlador.

<form action="example.com/model/edit?returnurl=http://example.com/Form" method="post"> 

acción del controlador ...

[HttpPost] 
public ActionResult Index(FormModel input, string returnUrl) 
{ 
    ... 
    return Redirect(returnUrl); 
} 
Cuestiones relacionadas