我正在处理一些代码,最后一个编码器消失了。我正在寻找C#控制器中对以下内容的解释。
RedirectToAction("SomeAction", "SomeController", new { @for = "SomeString" });
具体是什么:
new { @for = "whatever" }
实际上是这样做的。
提前致谢。
答案 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