【发布时间】:2018-11-29 11:13:46
【问题描述】:
我有这个class:
public class State{
public Dictionary<SecurityType, List<long>> assets { get; set; }
}
和行动:
[HttpPost]
public virtual ActionResult GetHoldings(State state)
{
return Json(new HoldingsBL().GetHoldings(state));
}
public enum SecuritySerachType
{
Company = 1,
Security,
}
当我尝试传递这样的东西时:
{state:{assets :[{"Key":1,"Value":[]}]}}
我在资产属性中找到了空字典。
我已经阅读了this 解决方案,但我不知道如何解决我的问题。
一些简单的解决方案?
编辑: 我尝试像 Oleksii Aza 所说的那样添加 ValueProviderFactory,但是将它与 backingStore 进行比较存在问题(已经存在字典检查,可能用于嵌套对象):
var d = value as IDictionary<string, object>;
if (d != null)
{
foreach (var entry in d)
{
AddToBackingStore(backingStore, MakePropertyKey(prefix, entry.Key), entry.Value);
}
return;
}
所以我仍然坚持这个问题。
【问题讨论】:
-
什么是
SecurityType? -
SecurityType 是枚举
-
你能包括那个枚举,还包括处理请求的控制器动作吗?
-
我希望字典映射到类似对象的结构中,例如:{state:{assets :{"1":[]}}}
-
assets 是一个字典数组。
标签: javascript c# asp.net-mvc