0

我最近在我的 MVC5 C# 项目中遇到了一个问题,我的动态生成的 HTML 元素(电话号码的集合)可能会发布到缺少索引的服务器上。像这样,缺少[1]:

ClientInfo.Phones[0].PhoneNumber
ClientInfo.Phones[2].PhoneNumber
ClientInfo.Phones[3].PhoneNumber

当页面有多个要添加时,或者如果用户手动添加另一个,则动态元素的增量编号会增加。但是当用户删除动态元素 [1] 时,集合中就会缺少一个元素。当表单发布到服务器时,接收方法需要一个名为 ClientInfo 的类,它具有 IEnumerable 属性,以及许多其他内容。当它们索引值按顺序排列时 (0,1,2,3,...),所有内容都按预期序列化到此 Phones 集合属性中。当缺少一个时,如上例所示,只有那些从 0 开始编号的编号才会序列化。在这种情况下,不会包括索引 2、3,只有 [0]。

发布表单时,我可以在 Fiddler 中看到所有值及其索引号,因此我知道它们正确地穿过电线。尽管它们没有所有集合元素,有没有办法序列化这些项目?任何帮助表示赞赏!谢谢!

4

0 回答 0