【发布时间】:2012-05-04 23:07:45
【问题描述】:
我在我的控制器中尝试了这段代码:
List<ProductListingModels> prom = new List<ProductListingModels>();
prom.Add(new ProductListingModels()
{
ID = item.ID,
Name = item.Name,
DepartmentID = item.DepartmentID.Value,
BrandID = item.BrandID.Value
});
jr.Data = prom;
jr.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return Json(new
{
ja = jr.Data,
}, JsonRequestBehavior.AllowGet);
这是我的 ProductListingModel :
public class ProductListingModels:ItemEntityDataContext
{
public int ID { get; set; }
public string Name { get; set; }
public int DepartmentID { get; set; }
public int BrandID { get; set; }
}
这是一个错误:
序列化类型对象时检测到循环引用。
但是,如果我从添加对象“prom”更改为添加字符串或整数之类的东西,效果会很好。我不知道如何添加我的对象会发生什么问题。
谁能告诉我解决方案。欢迎您的所有问题和回答,非常感谢。
【问题讨论】:
-
对;我们正在序列化
jr.Data,也就是prom,这是一个带有单个项目的List<ProductListingModels>,由Id、Name、DepartmentID和BrandID组成——我们可以看看ProductListingModels所以我们可以看到这里的类型是什么,它还定义了什么? -
它有任何特定的基类吗?或任何其他字段/属性?
-
基本上,我可以在本地复制它工作正常,即
"{\"ja\":[{\"ID\":123,\"Name\":\"abc\",\"DepartmentID\":456,\"BrandID\":789}]}" -
我仍然认为没有问题。这真的是 ProductListingModel 类的全部内容吗? ProductListingModel 是否继承自另一个类?
-
感谢大家的回答,我已经准备好继承 ProductListingModel 类了。
标签: c# asp.net-mvc json