我有对象列表,我将它传递给查看并正确呈现。
当我提交此表单时,我将获得相同的模型。一切正常。 不幸的是,当我决定使用jquery动态删除一些记录时,它看起来像这样 提交表单后,我只获得了2个第一项的列表。这可能是因为索引不是自然顺序(0,1,3而不是0,1,2)。 有什么我可以做的很容易修复它(不使用jquery来改变输入,smth服务器端)?我试图将数组更改为List或Ienumerable但仍然没有。我知道我可以将所有内容打包并以json的形式发送或只是阅读formCollection,但我想先问一下这里是否有其他解决方案。
答案 0 :(得分:5)
您需要为Index
属性添加一个输入,以允许您回发非连续的索引器。索引的值必须与集合索引器匹配。例如
for(int i = 0; i < model.tagList.Count; i++)
{
@Html.TextBoxFor(m => m.tagList[i].Name);
<input type="hidden" name="tagList.Index" value="@i" />
}