【问题标题】:Asp.net ScriptIgnore attribute not workingAsp.net ScriptIgnore 属性不起作用
【发布时间】:2013-05-05 15:27:21
【问题描述】:

这是我的 POCO 课程:

public class A
{
    public int id { get; set; }

    public virtual B b { get; set; }
}

public class B
{
    public int id { get; set; }

    [ScriptIgnore]
    public virtual A a { get; set; }
}

我想将 A 的对象序列化为 Json。但是当我尝试序列化 POCO 代理对象时,我不断收到循环引用异常(尽管它适用于 POCO 对象)。我通过谷歌搜索,发现 ScriptIgnore 属性应该在 .Net 4.5 中工作。但我正在使用.Net 4.5,显然它不起作用。谁能告诉我如何解决这个问题?

【问题讨论】:

  • 尝试使用 ApplyToOverrides 属性(如果按照指示使用 .net 4.5)[ScriptIgnore(ApplyToOverrides = true)]

标签: c# asp.net-mvc entity-framework-5 .net-4.5 scriptignore


【解决方案1】:

圆形对象图不能被JSON序列化正确的方法是制作一个使用匿名对象的视图模型。

return Json(new{A.id, A.B.id})

【讨论】:

  • 但是ScriptIgnore不是用来解决这种情况的吗?它适用于 POCO 对象。
猜你喜欢
  • 1970-01-01
  • 2015-05-13
  • 1970-01-01
  • 1970-01-01
  • 2011-02-26
  • 2014-03-26
  • 2018-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多