<p>Using ASP.NET MVC there are situations (such as form submission) that may require a <code>RedirectToAction</code>.  </p>

<p>One such situation is when you encounter validation errors after a form submission and need to redirect back to the form, but would like the URL to reflect the URL of the form, not the action page it submits to.</p>

<p>As I require the form to contain the originally <code>POST</code>ed data, for user convenience, as well as validation purposes, how can I pass the data through the <code>RedirectToAction()</code>?  If I use the viewData parameter, my <code>POST</code> parameters will be changed to <code>GET</code> parameters.</p>

The solution is to use the TempData property to store the desired Request components.
For instance:
```
```
public ActionResult Send()
{
    TempData["form"] = Request.Form;
    return this.RedirectToAction(a => a.Form());
}
```
```
Then in your "Form" action you can go:
```
```
public ActionResult Form()
{
    /* Declare viewData etc. */

    if (TempData["form"] != null)
    {
        /* Cast TempData["form"] to 
        System.Collections.Specialized.NameValueCollection 
        and use it */
    }

    return View("Form", viewData);
}
```
```