Como esvazio uma coleção se estou usando o TryUpdatemodel?
-
26-09-2019 - |
Pergunta
Eu tenho um modelo que contém um List<PhoneNumber>
propriedade. Eu uso o TryUpDatemodel em minhas ações de atualização. Adicionar novos números e alterar os números existentes funciona bem. A remoção de números existentes, no entanto, funciona apenas se eu não tentar remover tudo. Se eu remover tudo da lista, nenhum dos itens será excluído.
Sei que isso provavelmente é por design, mas qual é a abordagem recomendada para lidar com esse problema?
Solução
Atualmente estou indo com esta abordagem:
List<PhoneNumber> phoneNumbers = new List<PhoneNumber>();
TryUpdateModel<List<PhoneNumber>>(phoneNumbers, "Student.PhoneNumbers", form);
if (phoneNumbers.Count == 0)
{
student.PhoneNumbers = phoneNumbers;
}
Outras dicas
Eu sei que a pergunta tem 2 anos e para o MVC2. No entanto, encontrei o mesmo problema no MVC3 e encontrei o culpado e a solução. Respondi à seguinte pergunta, pois era o mesmo problema que eu estava tendo e, esperançosamente, a solução também é aplicável aqui sem alterações.
Resposta relacionada: TryUpdatemodel não esvazia uma coleção de itens quando todos os itens são removidos na tela.