1

嗨,我正在尝试创建一个常见的 ActionResult,它可以返回带有动态 ActionName、ControllerName 和对象参数(如果有)的 redirectToAction

public ActionResult partner()
        {
//Building my params
obj.parameters = string.Format("cId = {0}, aId= {1}", CustomerID, Session["LocationId"]);
 return RedirectToAction(obj.actionName, obj.controllerName, string.IsNullOrEmpty(obj.parameters) ? null : new { obj.parameters });
}

我不确定这在 MVC 中是否可行。有人有这样的要求吗?是否有任何解决方法可以实现这样的目标。

4

1 回答 1

4

这里有几个想法可以帮助你:

选项 1:使用包含路由值的匿名类型对象。

obj.parameters = new { cId = CustomerID, aId = Session["LocationId"] };
return RedirectToAction(obj.actionName, obj.controllerName, obj.parameters);

选项 2:使用此答案RouteValueDictionary中描述的类似问题的 a 。

obj.parameters = new RouteValueDictionary();
obj.parameters['cId'] = CustomerID;
obj.parameters['aId'] = Session["LocationId"];
return RedirectToAction(obj.actionName, obj.controllerName, obj.parameters);
于 2013-02-11T20:58:32.020 回答