Tengo una acción que simplemente hace un poco de trabajo basado en el parámetro pasado en él, luego lo redirecciona a otra página.¿Cómo debería ser una acción de controlador si solo redirige?
¿Cuál debería ser el tipo de devolución entonces?
Tengo una acción que simplemente hace un poco de trabajo basado en el parámetro pasado en él, luego lo redirecciona a otra página.¿Cómo debería ser una acción de controlador si solo redirige?
¿Cuál debería ser el tipo de devolución entonces?
Uso RedirectToRouteResult
para redireccionar a la acción misma del controlador:
public RedirectToRouteResult DeleteAction(long itemId)
{
// Do stuff
return RedirectToAction("Index");
}
O usar esto para redirigir a la acción de otro controlador:
public RedirectToRouteResult DeleteAction(long itemId)
{
// Do stuff
return
new RedirectToRouteResult(
new RouteValueDictionary(
new {controller = "Home", action = "Index", Id = itemId})
);
}
Si se vuelve a dirigir todos los días, el tipo de retorno puede ser que también RedirectToRouteResult o RedirectResult, dependiendo de si está redirigiendo a una acción o una URL.
Consulte this question para una discusión similar.
He aquí un ejemplo:
public RedirectToRouteResult Foo()
{
return this.RedirectToAction("Bar");
}