RedirectToAction with new {@for =“SomeString”}这是什么意思

时间:2014-09-09 16:15:11

标签: c# asp.net-mvc

我正在处理一些代码,最后一个编码器消失了。我正在寻找C#控制器中对以下内容的解释。

RedirectToAction("SomeAction", "SomeController", new { @for = "SomeString" });

具体是什么:

new { @for = "whatever" }
实际上是这样做的。

提前致谢。

1 个答案:

答案 0 :(得分:3)

这是动作的参数,如果你看到动作定义,它将如下所示:

public ActionResult SomeAction(string for)
{

}

RedirectToAction()中我们将参数值传递给操作,稍后将在操作中使用它,它可以是某个数据库ID或任何内容。

将调用RedirectToAction的重载:

protected internal RedirectToRouteResult RedirectToAction(
    string actionName,
    string controllerName,
    Object routeValues
)

这是它的实现:

protected internal RedirectToRouteResult RedirectToAction(string actionName, string controllerName, object routeValues)
{
 return RedirectToAction(actionName, controllerName, new RouteValueDictionary(routeValues));
}

Controller.RedirectToAction Method (String, String, Object)

,此语法new { }称为匿名对象或类型。 See Anonymouse Types