2013-07-14 57 views
0

我有點納悶爲什麼會這樣。我將一個JQuery可排序列表中的數據列表發佈到默認模型聯編程序(MVC)。在我發佈之前檢查html時,顯示準備發佈的2個項目是正確的。JQuery的可排序後 - 不匹配的項目

enter image description here

當我檢查什麼ModelBinder的是接收,有3個項目!

enter image description here

而且,是的,我知道的是,指數不從0開始(我刪除了第一項)。這是否有效果?

+0

根據幾篇文章,索引必須是基於0的順序。這很可能導致問題。意味着我必須在刪除列表中的所有控件時重新對其進行索引。 – Greg

回答

0

OK - 以及可能有其他方法可以做到這一點,但它現在正在做我想要的。在Sortable列表的接收和移除事件中,我將此函數稱爲寫入新的隱藏項目。這樣,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() + ' />'); 
    }); 
}