我正在创建一个asp.net MVC剃刀页面,其中我必须使用jQuery动态添加/删除模型(所有在客户端)。模型需要添加/删除不仅在列表的末尾,但可以删除/添加在列表中的任何位置。如何在这种情况下处理模型(模型的索引),以便我必须将模型绑定数据发布到控制器
目前,我正在克隆这样的数据,
var $newPanel = $currentPanel.clone().removeAttr('id');
并分配这样的对象
$('#id1', $newPanel).attr('name', 'CurrentDateTrips[' + index + '].Vehicle');
要使用默认的MVC列表绑定,索引需要是顺序的(即1,2,3,而不是1,3,4)。
但是,索引不需要在html中按顺序排列,只要它们在帖子中是顺序的。
对于删除,请不要对行进行.remove()
,而是进行逻辑删除(例如,带有name = rowdeleted的隐藏输入)。这样,序列在删除行时保持连续。
在中间添加新行与在末尾添加它们相同,索引是现有行/最高索引+ 1.但是可以在实际行中的任何位置,无需重新索引。