RouteValues和ActionLink,将数据传递给其他操作

时间:2013-09-08 07:17:23

标签: c# asp.net asp.net-mvc

使用QueryString传递Html.ActionLink中的一些参数是可能的。但是当使用RedirectToAction时如何传递参数。它只接受路由值,我想将ReturnValue参数添加到目标操作,该操作在执行操作后返回到像Login Mechanism一样,但是如何通过RedirectToAction

2 个答案:

答案 0 :(得分:0)

可以像这样添加axtension方法

public static class RedirectToRouteExtensions
    {
        public static RedirectToRouteResult WithQuery(this RedirectToRouteResult redirectResult, string name, string val)
        {
            redirectResult.RouteValues.Add(name, val);
            return redirectResult;
        }
        public static RedirectToRouteResult And(this RedirectToRouteResult redirectResult, string name, string val)
        {
            return redirectResult.WithQuery(name, val);
        }
}

并使用此:

return RedirectToAction("Index", "Profile", new { area = "Customer").WithQuery("name", "Value");

使用路由值和QueryString做同样的事情,那么他们之间有何不同?

答案 1 :(得分:0)

目标操作方法所需的任何参数都可以在路由值中传递,例如

return RedirectToAction("Action", "Controller", new { returnValue = "returnValue" });