Una limitación del uso de RedirectToAction("actionName", {object with properties})
es que RedirectToAction() no tiene la sobrecarga que acepta RedirectToAction(ActionResult(), {object with properties})
, por lo que se ven obligados a utilizar cadenas mágicas para el nombre de la acción (y posiblemente el nombre del controlador).
Si utiliza el T4MVC library, que incluye dos métodos de la API ayudante de fluidez (AddRouteValue(...)
y AddRouteValues(...)
) que le permiten añadir fácilmente un solo parámetro de cadena de consulta, todas las propiedades de un objeto, o todo el Request.QueryString. Puede invocar estos métodos en los propios objetos ActionResult de T4MVC o directamente en el método RedirectToAction(). Por supuesto, ¡T4MVC se trata de deshacerse de las cuerdas mágicas!
Como ejemplo: supongamos que desea redirigir a una página de inicio de sesión para una solicitud no autenticada, y pasar la URL solicitada originalmente como un parámetro de cadena de consulta para que pueda saltar allí después de iniciar sesión correctamente. Cualquiera de los siguientes ejemplos de sintaxis funcionará:
return RedirectToAction(MVC.Account.LogOn()).AddRouteValue(@"returnUrl", HttpUtility.UrlEncode(Request.RawUrl));
o
return RedirectToAction(MVC.Account.LogOn().AddRouteValue(@"returnUrl", HttpUtility.UrlEncode(Request.RawUrl)));
ver http://stackoverflow.com/questions/1067200/how-to-add-querystring-values-with-redirecttoaction- método LQ = 1 – MVCdragon
[esto tiene la solución, debe ayudarle a] [1] [1]:? http://stackoverflow.com/questions/1067200/how-to-add-querystring-values -with-redirecttoaction-method? lq = 1 – MVCdragon