¿Pasar un objeto modelo a un RedirectToAction sin contaminar la URL?

Esto es lo que estoy tratando de hacer:

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

[HttpPost]
public ActionResult Index(ContactModel model)
{
    if (ModelState.IsValid)
    {
        // Send email using Model information.

        return RedirectToAction("Gracias", model);
    }

    return View(model);
}

public ActionResult Gracias(ContactModel model)
{
    return View(model);
}

Los tres métodos de acción están en el mismo controlador. Básicamente, un usuario escribe algunos datos en el formulario de contacto y quiero redirigirlos a una página de agradecimiento usando su nombre en el objeto Modelo.

Como el código es, funciona, pero la URL pasa junto con las variables GET. No es ideal.

http://localhost:7807/Contacto/Gracias?Nombre=Sergio&Apellidos=Tapia&Correo=opiasdf&Telefono=oinqwef&Direccion=oinqef&Pais=oinqwef&Mensaje=oinqwef

¿Alguna sugerencia?

Respuestas a la pregunta(4)

Su respuesta a la pregunta