Система.Исключение StackOverflowException было необработанным (ПРИВЯЗКА к модели MVC)

StackOverflow https://stackoverflow.com/questions/427075

  •  06-07-2019
  •  | 
  •  

Вопрос

Я начал получать эту ошибку при отправке формы обратно с помощью Model Binder.Чтобы проверить проблему, я сократил обратную передачу до одного строкового свойства модели, но я по-прежнему получаю ошибку переполнения.Кто-нибудь может подсказать, что могло бы вызвать это?

Обновить Проблема, по-видимому, связана со свойством в модели, которое является внешним ключом.Если этот ключ удален, привязка работает.Как я могу выполнить привязку и включить связь с внешним ключом?

Это было полезно?

Решение

Вы можете исправить это несколькими способами.Один из способов - попробовать что-то подобное.

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

Это указывает связующему модели не пытаться привязать Категорию (свойство FK).Это известная проблема, и команда MVC уже исправила ее для RC.

Вы также можете передать список исключений в UpdateModel /TryUpdateModel и в любое другое место, где вы добавляете атрибут Bind.

Другие советы

Переполнение стека обычно происходит из-за бесконечной рекурсии.Просмотрите трассировку стека и посмотрите, видите ли вы одну и ту же функцию (или группу функций) снова и снова.Это означало бы, что рекурсивная функция никогда не достигает своего базового варианта.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top