ASP.NET MVC: RedirectToAction con parámetros para la acción POST

Esta pregunta ha sido hecha aquí:

RedirectToAction con parámetro

Pero, ¿y si tengo dos acciones con el mismo nombre pero diferentes parámetros? ¿Cómo puedo redireccionar a la acción Terms POST en lugar de la acción GET Terms ?

 public ActionResult Terms() { //get method } [HttpPost] public ActionResult Terms(string month, string year, int deposit = 0, int total = 0) { //process POST request } 

No importa chicos, en realidad podría simplemente llamar al método directamente en lugar de usar RedirectToAction así:

 return Terms(month, year, deposit, total); 

En lugar de:

 return RedirectToAction("Terms", {month, year, deposit, total}); 

Tiene razón en que puede llamar al método directamente, pero le sugiero que reconsidere su architecture / implementación.

El protocolo HTTP abarca la idea de verbos seguros e inseguros. Los verbos seguros como GET no deben modificar el estado del servidor de ninguna manera, mientras que los verbos inseguros como POST, PUT modifican el estado. Si GET llama al método POST, está violando este principio, ya que no es inconcebible que su POST vaya a modificar el estado.

Además, las mejores prácticas dictan que debe limitar los verbos a todas sus acciones, de modo que si el primer método de “Términos” se entiende como un GET, también debe agregarle el atributo HttpGet para evitar que otras acciones de Http sean aceptadas por el servidor para la acción .