【问题标题】:Is not supported for deserialization of an array : C# Jquery不支持数组的反序列化:C# Jquery
【发布时间】:2014-11-07 13:03:15
【问题描述】:

我有单页,包含有关代理的所有信息。 所以我将数据区分为选项卡。 所有信息都相互关联。

请在下面找到 aspx 设计代码。

http://pastebin.com/JT7V7Bd1

请查找 aspx.cs 代码:

http://pastebin . com/BU9TtpqK

和实体框架类: http://pastebin.com/di3fqJ6H

我尝试了很多方法来克服反序列化错误。 任何人请尝试在您的最后运行代码,请纠正我。 我正在尝试使用 jquery 将 json 对象发送到 aspx,并将解析为不同的表对象,然后保存记录。

如果有任何遗漏,请告诉我。

提前致谢。

【问题讨论】:

    标签: c# jquery asp.net json deserialization


    【解决方案1】:

    这里的问题可能是序列化无法处理模型类导航属性中的循环引用。 (例如,你可以做AgentInfo.AgentAddress.AgentInfo ad infinitum)。

    最简单的解决方案是,如果您不需要它们,请从导致循环引用的模型类中删除导航属性。例如,如果您不需要从代理地址访问AgentInfo,请将其删除。

    否则,您可以创建一组单独的类以用作数据传输对象 (dto)。

    【讨论】:

    • 我已经分享了我的实体框架及其关系。所以你的意思是说我需要在控制器级别创建具有相同属性的相同类?
    • 关系不是问题,我告诉你你有循环导航属性(这绝对没问题,顺便说一句),而且这些属性不适用于序列化。想象一下序列化器循环遍历属性。如果可以从AgentAddress 到AgentInfo,反之亦然,那么序列化器怎么没有什么时候停止呢?
    • 不走运,请在 pastebin 上更改文件?
    猜你喜欢
    • 2019-10-07
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    • 2014-10-28
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多