Вызов UpdateModel с набором сложных типов данных сбрасывает все несвязанные значения?
Я не уверен, является ли это ошибкой в классе DefaultModelBinder или чем. Но UpdateModel обычно не изменяет никакие значения модели, кроме тех, для которых она нашла соответствие. Посмотрите на следующее:
[AcceptVerbs(HttpVerbs.Post)]
public ViewResult Edit(List<int> Ids)
{
// Load list of persons from the database
List<Person> people = GetFromDatabase(Ids);
// shouldn't this update only the Name & Age properties of each Person object
// in the collection and leave the rest of the properties (e.g. Id, Address)
// with their original value (whatever they were when retrieved from the db)
UpdateModel(people, "myPersonPrefix", new string[] { "Name", "Age" });
// ...
}
Что происходит, когда UpdateModel создаетnew Персона объекты, присвойте их Имя и Устаревайте свойства из ValueProvider и помещайте их в аргумент List & lt; & gt ;, который устанавливает для остальных свойств их начальное значение по умолчанию (например, Id = 0) и так, что здесь происходит?