2010-09-29 3 views
6

Je poste un formulaire à partir d'une vue partielle qui est rendue via Html.RenderAction et je veux après le poste de poste pour rediriger vers le même itinéraire d'où la demande est venue.comment rediriger vers la même route (d'où la demande est venue) dans asp.net mvc

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

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

quelqu'un sait comment faire cela?

Répondre

2

Vous pouvez récupérer le UrlReferrer de l'objet de demande:

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

cela fonctionne, mais nous perdons les valeurs qui étaient dans les formes, ils ne sont pas renvoyés – Omu

+0

Ajoutez les données de formulaire au TempData. Vous pouvez ensuite récupérer ceci après la redirection. – Castrohenge

1

Je voudrais ajouter une chaîne de requête à la publication du formulaire, que vous pouvez utiliser pour effectuer la redirection dans l'action du contrôleur.

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

action contrôleur ...

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