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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top