Как очистить коллекцию, если я использую TryUpdateModel? - PullRequest
1 голос
/ 29 сентября 2010

У меня есть модель, которая содержит свойство List<PhoneNumber>. Я использую TryUpdateModel в своих действиях по обновлению. Добавление новых номеров и изменение существующих номеров работает нормально. Однако удаление существующих номеров работает, только если я не пытаюсь удалить все. Если я удалю все из списка, ни один из пунктов не будет удален.

Я понимаю, что это, вероятно, задумано, но какой рекомендуемый подход для решения этой проблемы?

Ответы [ 2 ]

0 голосов
/ 30 января 2013

Я знаю, что вопрос 2 года и для MVC2.Тем не менее, я нашел ту же проблему в MVC3 и нашел виновника и решение.Я ответил на следующий вопрос, поскольку это была та же проблема, что и у меня, и, надеюсь, решение здесь применимо без изменений.

Связанный ответ: TryUpdateModel не очищает коллекцию элементов, когда всеэлементы удаляются на экране .

0 голосов
/ 29 сентября 2010

В настоящее время я иду с этим подходом:

List<PhoneNumber> phoneNumbers = new List<PhoneNumber>();
TryUpdateModel<List<PhoneNumber>>(phoneNumbers, "Student.PhoneNumbers", form);

if (phoneNumbers.Count == 0)
{
    student.PhoneNumbers = phoneNumbers;
}
...