我有以下类定义:
public class CallGroupViewModel
{
public string Name { get; set; }
public string BulkEmails { get; set; }
public List<dynamic> Members {get;set;}
}
Members属性是一些动态淘汰代码,内容根据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'
我可能只是错过了什么,感谢任何帮助。
谢谢!
答案 0 :(得分:0)
要从对象访问动态属性,您可以使用:
var email = group.Members[0].GetType()
.GetProperty("Email")
.GetValue(group.Members[0], null);
答案 1 :(得分:0)
填充MVC操作方法参数的模型绑定系统不适用于动态对象。系统需要类型信息才能知道要绑定哪些信息。请考虑将模型更改为使用强类型。