Pour votre exemple particulier, je ferais simplement cela, puisque vous ne vous souciez manifestement pas de faire en sorte que le navigateur obtienne la redirection de toute façon (en vertu de l'acceptation de la réponse que vous avez déjà acceptée) :
[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();
}
Cela fonctionne facilement et il n'y a pas vraiment de problème - cela vous permet de maintenir le fait que le second n'accepte réellement que les requêtes HTTP POST (sauf dans ce cas, qui est de toute façon sous votre contrôle) et vous n'avez pas besoin d'utiliser TempData non plus, ce que suggère le lien que vous avez posté dans votre réponse.
J'aimerais bien savoir ce qui ne va pas dans ce cas, s'il y a quelque chose. De toute évidence, si vous voulez vraiment envoyer une redirection au navigateur, cela ne fonctionnera pas, mais vous devriez alors vous demander pourquoi vous essayez de convertir cela malgré tout, car cela me semble étrange.
J'espère que cela vous aidera.