使用 Model Binder 发回表单时,我开始收到此错误。为了测试这个问题,我将回发减少到模型的一个字符串属性,但我仍然得到溢出错误。谁能建议会导致这种情况的原因?
更新问题似乎与模型中作为外键的属性有关。如果删除此键,则绑定有效。如何进行绑定并包含外键关系?
使用 Model Binder 发回表单时,我开始收到此错误。为了测试这个问题,我将回发减少到模型的一个字符串属性,但我仍然得到溢出错误。谁能建议会导致这种情况的原因?
更新问题似乎与模型中作为外键的属性有关。如果删除此键,则绑定有效。如何进行绑定并包含外键关系?
您可以通过几种方式解决此问题。一种方法是尝试这样的事情。
public ActionResult AddProduct([Bind(Exclude = "Category")]Product product) { }
这告诉模型绑定器不要尝试绑定类别(FK 属性)。这是一个已知问题,MVC 团队已经为 RC 修复了它。
您还可以将排除列表传递到 UpdateModel/TryUpdateModel 以及添加 Bind 属性的任何位置。
堆栈溢出通常是由于无限递归。查看堆栈跟踪,看看您是否一遍又一遍地看到相同的函数(或函数组)。这表明递归函数永远不会达到其基本情况。