What is the best practice for implementing the Post/Redirect/Get pattern in ASP.NET MVC? In particular, what is the best way to do this when you want to redirect back to the initial action/controller?
Here's how I am currently doing this:
- Display form to user.
- In the form, use
<%= Html.Hidden("returnUrl") %>
- In the action, use
ViewData["returnUrl"] = Request.Url;
- In the form, use
- User submits the form via POST
- Redirect to the
returnUrl
model-binding, if notnull
. Otherwise, redirect to homepage.
This get's the job done, but it feels like this would result in a lot of duplication. I also realized that I could probably redirect to Request.UrlReferrer
...
What do you suppose is the cleanest, most ideal method of accomplishing this?