Omu
Omu

Reputation: 71188

how to redirect to the same route (from where the request came) in asp.net mvc

I'm posting a form from a partial view which is rendered via Html.RenderAction and I want after the form post to redirect to the same route from where the request came.

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

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

anybody knows how to do that ?

Upvotes: 6

Views: 546

Answers (2)

Jace Rhea
Jace Rhea

Reputation: 5018

I would add a query string to the the form post, which you can use to do the redirection in the controller action.

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

Controller action...

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

Upvotes: 1

Castrohenge
Castrohenge

Reputation: 8983

You could retrieve the UrlReferrer from the Request object:

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

Upvotes: 2

Related Questions