我已經看到如何使用窗體上的對象集合與asp mvc進行模型綁定。如何只提交變更,集合對象的一個子集,變化了? (添加,刪除,更改)。用腳本重寫提交併以某種方式自己滾動它? (爲了簡單起見,我們可以將更改的粒度限制在集合中的某個對象上,即不要向下對象屬性)。mvc模板綁定表單上的集合,僅提交更改?
感謝
我已經看到如何使用窗體上的對象集合與asp mvc進行模型綁定。如何只提交變更,集合對象的一個子集,變化了? (添加,刪除,更改)。用腳本重寫提交併以某種方式自己滾動它? (爲了簡單起見,我們可以將更改的粒度限制在集合中的某個對象上,即不要向下對象屬性)。mvc模板綁定表單上的集合,僅提交更改?
感謝
我會考慮乾脆丟棄的形式,只是專注於發佈JSON回服務器。這將爲您節省大量的輸入元素。
在服務器端,您可以將其綁定到給定對象的列表。
如果您只提交更改,您將不得不 a。 (無論是通過通過JSON通過jQuery提交數據或明確地傳遞形式手動提交已在任何一個手工jQuery的電話改變了表單元素值
$.post("/controller/action", { name1: "John", name2: "Mary" });
它的設計選擇使用JSON或不在這裏 - 這兩個如果你選擇的JSON,改變你的dataType在調用JSON使用
dataType: 'json'
b就工作得很好。 。從在崗位和 c中的形式取出不變的元素。移動改變的元素融入到自己的之前的形式 這兩個B/C可以使用:
$.post("/controller/action", $("#changedForm").serialize());
感謝您的回覆。我得到了一些後來發現這裏類似的設計 - http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/ – 2011-05-09 20:24:51
獲得更改對於屬性集合,只需訂閱輸入控件上的按下按鈕事件,通過在目標上添加一個「已更改」類來處理事件,然後在保存時選擇已更改的項目,清除已更改的類並僅序列化這些控件並提交(並再次重新訂閱已更改的控件)。在服務器上,使用AutoMap將稀疏傳入屬性與相關數據庫條目合併。我還添加了一個collectionItem div來包裝一個集合項目,以便我可以找到需要提交的隱藏輸入控件get model binding working – 2011-05-09 20:39:50
它是什麼在steves方法上爲您工作 - 這是一個動態列表,不是隻是變了。你使用的最終方法是什麼? – 2011-05-10 02:27:18