2

我有以下类定义:

public class CallGroupViewModel
    {
        public string Name { get; set; }
        public string BulkEmails { get; set; }
        public List<dynamic> Members {get;set;}

    }

成员属性是一些动态淘汰代码,内容会根据 UI 内容而变化。我想走捷径,因为 UI 现在还悬而未决。

我的问题是,当它到达我的操作方法时,一切都会被填充,包括成员,但它是一个数组,objects我无法获得它们的各个属性。

public ActionResult SaveGroup(CallGroupViewModel group)

group.Members //this has a count
group.Members[0].email //this pukes as 'email' is not valid for 'object'

我可能只是错过了一些东西,任何帮助表示赞赏。

谢谢!

4

2 回答 2

0

要从对象访问动态属性,在您的情况下,您可以使用:

var email = group.Members[0].GetType()
                            .GetProperty("Email")
                            .GetValue(group.Members[0], null); 
于 2013-03-12T03:19:57.177 回答
0

填充 MVC 操作方法参数的模型绑定系统不适用于动态对象。系统需要类型信息才能知道要绑定哪些信息。考虑将模型更改为使用强类型。

于 2013-03-12T03:48:27.717 回答