2009-01-09 53 views
1

我在使用Model Binder发布表单时发生此错误。为了测试这个问题,我将回发减少为模型的一个字符串属性,但仍然出现溢出错误。任何人都可以提出什么会导致这个?System.StackOverflowException未处理(MVC Model BINDING)

更新 该问题似乎与外部模型中的属性有关。如果该键被删除,则绑定起作用。我该如何做绑定并包含外键关系?

回答

1

你可以通过几种方法解决这个问题。一种方法是尝试这样的事情。

public ActionResult AddProduct([Bind(Exclude = "Category")]Product product) { } 

这告诉模型联编程序不尝试绑定类别(FK属性)。这是一个已知的问题,MVC团队已经为RC进行了修复。

您还可以将排除列表传递到UpdateModel/TryUpdateModel以及您添加绑定属性的任何位置。

+0

感谢您的信息。实际上,“排除”也不起作用。 – zsharp 2009-01-09 06:07:27

0

堆栈溢出通常是由于无限递归。查看堆栈跟踪,看看你是否一遍又一遍地看到相同的功能(或功能组)。这将表明递归函数从未达到其基本情况。

相关问题