我希望能够在我的action方法助手中使用它之前选择将哪些属性添加到我的对象中.所以我使用ExpandoObject来实现这一目标. dynamic routeValues = new ExpandoObject();if (...) { routeValues.FirstParam = "one"
dynamic routeValues = new ExpandoObject(); if (...) { routeValues.FirstParam = "one"; } if (...) { routeValues.SecondParam = "two"; } helper.Action("MyAction", "MyController", routeValues);
它成功编译,但在运行时,routeValues对象似乎被忽略.
有关动态选择对象属性的任何解决方案吗?
你不需要任何动态或ExpandoObjects,一个简单的 RouteValueDictionary将完成这项工作:var routeValues = new RouteValueDictionary(); if (...) { routeValues["FirstParam"] = "one"; } if (...) { routeValues["SecondParam"] = "two"; } helper.Action("MyAction", "MyController", routeValues);