我有点不解为什么会发生这种情况。我将JQuery可排序列表中的数据列表发布到默认模型绑定器(MVC)。当我在发布之前检查html时,它显示准备发布的2个项目是正确的。
当我检查模型绑定器接收的内容时,有3个项目!
而且,是的,我知道索引不是从0开始(我删除了第一项)。这会产生影响吗?
答案 0 :(得分:0)
好的 - 好吧,可能有其他方法可以做到这一点,但它现在正在做我想要的。在Sortable列表的receive和remove事件中,我调用此函数来编写新的隐藏项。这样,ModelBinder很高兴 - 因此,我也是。
function AddHiddenItems() {
// clear out the items every time an item is added or removed
$("#skills").find(":hidden").remove();
$("#skills li").each(function (index) {
$('#skills').append('<input type="hidden" name="Contract.Skills[' + index + '].SkillId" value=' + $(this).attr("id") + ' />');
$('#skills').append('<input type="hidden" name="Contract.Skills[' + index + '].SkillDescription" value=' + $(this).text() + ' />');
});
}