发现导致循环引用错误的属性

时间:2011-03-18 08:00:53

标签: asp.net-mvc json javascriptserializer

我正在尝试反序列化一个nhibernate对象。由于某种原因,我得到一个循环引用错误。问题是我无法确定导致错误的属性。我用[ScriptIgnoreAttribute]标记了所有连接的类,但仍然没有。

1 个答案:

答案 0 :(得分:1)

我建议您避免将模型对象传递给视图。您应该定义一个视图模型,该模型专门针对视图的需要而定制,并且仅包含必要的属性。然后在控制器中,您可以在模型和视图模型之间进行映射。例如:

public ActionResult Foo()
{
    SomeModel model = _repository.GetModel();
    SomeViewModel viewModel = Mapper.Map<SomeModel, SomeViewModel>(model);
    return Json(viewModel);
}

这样您就不再需要担心循环引用,因为您可以完全控制视图模型,而且您只会公开视图所需的内容。