Я пытаюсь обновить некоторые свойства объекта, вызвав UpdateModel(myObject, new[] { "stringprop1", "stringprop2", "intprop"})
.Ошибка ASP.NET MVC UpdateModel неожиданно
Это не работает по неизвестной причине. Несколько свойств строки успешно обновляются. Когда я пытаюсь обновить свойство int, он терпит неудачу. Новое значение int отправляется из списка выбора html в представлении.
Я могу видеть данные с точки зрения в моем ValueProvider. Ключ соответствует имени свойства объекта, и значение является тем, что я ожидаю от представления (за исключением того, что это строка. Я думал, что UpdateModel может обрабатывать простые преобразования типов.
Когда я вызываю UpdateModel, возникает исключение InvalidOperationException, ТОЛЬКО ЕСЛИ СТОИМОСТЬ иМУЩЕСТВА МЕНЯЕТСЯ.
Кроме того, объект является Linq To Sql созданного объекта.
EDIT
Просматривая модель государства после вызова TryUpdateModel, я вижу, это исключение на имуществе, которое у меня возникло проблемы с:
- Exception {"Operation is not valid due to the current state of the object."} System.Exception {System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException}
Значение, которое я пытаюсь обновить, это внешний ключ. Почему я не могу обновить это значение? Спасибо за любую помощь?
EDIT 2
Я нашел это: http://social.msdn.microsoft.com/Forums/en-US/linqtosql/thread/f9c4a01a-195a-4f2b-a1cb-e2fa06e28b25
Я мог бы поклясться, что я изменил ключ вместо свойства ассоциации раньше, но независимо. Что можно сделать в этой ситуации привязки модели MVC?
У меня была такая же проблема, как вы описали, и она была решена путем создания экземпляра нового DataContext - я не могу объяснить, почему. Есть идеи? –