我有点困惑为什么会这样。我将 JQuery 可排序列表中的数据列表发布到默认模型绑定器 (MVC)。当我在发布之前检查 html 时,它显示了 2 个准备发布的项目,这是正确的。
当我检查 modelbinder 收到的东西时,有 3 个项目!
而且,是的,我知道索引不是从 0 开始的(我删除了第一项)。这有影响吗?
我有点困惑为什么会这样。我将 JQuery 可排序列表中的数据列表发布到默认模型绑定器 (MVC)。当我在发布之前检查 html 时,它显示了 2 个准备发布的项目,这是正确的。
当我检查 modelbinder 收到的东西时,有 3 个项目!
而且,是的,我知道索引不是从 0 开始的(我删除了第一项)。这有影响吗?
好的 - 好吧,可能还有其他方法可以做到这一点,但它现在正在做我想要的。在可排序列表的接收和删除事件中,我调用此函数来编写新的隐藏项。这样一来,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() + ' />');
});
}