Para su ejemplo particular, simplemente haría esto, ya que obviamente no le importa que el navegador obtenga la redirección de todos modos (en virtud de aceptar la respuesta que ya ha aceptado):
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index() {
// obviously these values might come from somewhere non-trivial
return Index(2, "text");
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(int someValue, string anotherValue) {
// would probably do something non-trivial here with the param values
return View();
}
Eso funciona fácilmente y no hay realmente ningún negocio divertido, esto le permite mantener el hecho de que el segundo realmente solo acepta solicitudes HTTP POST (excepto en este caso, que está bajo su control de todos modos) y no tiene que hacerlo use TempData tampoco, que es lo que sugiere el enlace que publicó en su respuesta.
Me encantaría saber qué está "mal" con esto, si hay algo. Obviamente, si realmente desea haber enviado al navegador una redirección, esto no va a funcionar, pero luego debe preguntarse por qué intentaría convertir eso de todos modos, ya que me parece extraño.
Espero que ayude.