C# ';System.Dynamic.ExpandooObject';不包含名为';名称';
以下是我所拥有的:C# ';System.Dynamic.ExpandooObject';不包含名为';名称';,c#,dynamic,expandoobject,C#,Dynamic,Expandoobject,以下是我所拥有的: var listAddresses = GetAddresses().ToList(); return Json(new JsonResult { Data = new SelectList(listAddresses, "Name", "Id") }, JsonRequestBehavior.AllowGet); 但我发现错误“System.Dynamic.ExpandoObject”不包含名为“name”的属性 listAddresses由10项组成。当我调试时,当我观
var listAddresses = GetAddresses().ToList();
return Json(new JsonResult { Data = new SelectList(listAddresses, "Name", "Id") }, JsonRequestBehavior.AllowGet);
但我发现错误“System.Dynamic.ExpandoObject”不包含名为“name”的属性
listAddresses由10项组成。当我调试时,当我观看其中的每一个时,我进入动态视图,其中有名称和Id。如何回忆这一点
var listAddresses = GetAddresses().ToList();
var data = new
{
Data = new SelectList(listAddresses, "Name", "Id")
};
return Json(data, JsonRequestBehavior.AllowGet);
Json(…)
是一个JsonResult
,您不需要两者兼而有之。像这样试试-->
var listAddresses=GetAddresses().ToList();
列表地址列表=新列表();
foreach(listAddresses中的地址)
{
ListItems=新建ListItem();
items.Text=地址.名称;
items.Value=address.ID;
地址列表。添加(项目);
}
}
返回Json(newJSONResult{Data=new SelectList(addressList,“Value”,“Text”)},JsonRequestBehavior.AllowGet);
如果不使用dynamic
关键字,就无法使用C的动态功能。因此:
var listAddreses = GetAddresses().ToList();
给您留下一个列表
,它实际上没有您提到的任何属性。但是如果你说:
List<dynamic> listAddresses = GetAddresses().ToList();
List listAddresses=GetAddresses().ToList();
它应该可以工作。我认为您需要转换为适当的对象类型,所有这些都应该可以正常工作
List<dynamic> listAddresses = GetAddresses().ToList();