我有一个表格,用来发布信息列表。
所以列表可以像这样。
Person[0].FullName
Person[0].Address
Person[1].FullName
Person[1].Address
Person[2].FullName
Person[2].Address
Person[3].FullName
Person[3].Address
当我发布此信息并运行更新评论时,一切正常。 List <>模型返回4条记录。
但是,当我使用jQuery删除中间记录之一时,它将从HTML删除整行。因此,我最终遇到了以下情况。
Person[0].FullName
Person[0].Address
Person[2].FullName
Person[2].Address
Person[3].FullName
Person[3].Address
但是现在当我发布信息时,List <>的计数现在为1,因为它会忽略删除后的所有内容。我猜是因为列表现在不连续了?
有人曾经遇到过同样的问题,并且知道一种保存所有项目的方法吗?
谢谢
编辑-HTML
for (int i = 0; i < Model.PersonsViewModel.Count(); i++)
{
<div id="clone_@i" class="form-group clone">
<div class="col-sm-6 has-feedback">
<div class="row">
<div class="col-sm-12">
@Html.TextBoxFor(model => model.PersonsViewModel[i].FullName, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.PersonsViewModel[i].FullName)
</div>
</div>
</div>
<div class="col-sm-6 has-feedback">
<div class="row">
<div class="col-sm-12">
@Html.TextBoxFor(model => model.PersonsViewModel[i].Address, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.PersonsViewModel[i].Address)
</div>
</div>
</div>
</div>
}
答案 0 :(得分:-1)
因为您正在破坏列表链,并且丢失了列表索引。也许您可以尝试在控制器端进行编辑。我以前遇到此问题,并在控制器中进行了修复。