如果我正在使用TryUpdateModel,如何清空集合?

时间:2010-09-29 08:41:43

标签: asp.net-mvc-2 model-binding

我有一个包含List<PhoneNumber>属性的模型。我在更新操作中使用TryUpdateModel。添加新号码和更改现有号码工作正常。但是,删除现有数字只有在我不尝试删除所有内容时才有效。如果我从列表中删除所有内容,则不会删除任何项目。

我意识到这可能是设计的,但是处理这个问题的推荐方法是什么?

2 个答案:

答案 0 :(得分:0)

我现在正采用这种方法:

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

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

答案 1 :(得分:0)

我知道问题是2岁,对于MVC2。但是,我确实在MVC3中发现了同样的问题,并找到了罪魁祸首和解决方案。我回答了以下问题,因为它与我遇到的问题相同,并且希望解决方案也适用于此而不做任何更改。

相关回答:TryUpdateModel does not empty a collection of items when all items are removed on screen