当前位置 : 主页 > 网络编程 > ASP >

asp.net-mvc – Action方法中的routeValues不接受ExpandoObject?

来源:互联网 收集:自由互联 发布时间:2021-06-24
我希望能够在我的action方法助手中使用它之前选择将哪些属性添加到我的对象中.所以我使用ExpandoObject来实现这一目标. dynamic routeValues = new ExpandoObject();if (...) { routeValues.FirstParam = "one"
我希望能够在我的action方法助手中使用它之前选择将哪些属性添加到我的对象中.所以我使用ExpandoObject来实现这一目标.

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);
网友评论