我用一个[int,bool]来充斥一个阵列:
$.each(ownedChecked, function (key, val) {
/*code to set id as int and paintedTrue as bool*/
ownedIDs.push([id,paintedTrue]);
});
我创造了一个变体, 它将被细化:
var saveData = { OwnedListEntryIDs:ownedIDs };
//send data
$.ajax({
url: /ListEntry/OwnedModels ,
type: POST ,
contentType: application/json; charset=utf-8 ,
data: JSON.stringify(saveData),
success: function (data) { alert( Update success: + data); },
failure: function (data) { alert( Update failed: + data); }
});
以下是视图模式 :
public class OwnedPaintedSave
{
//collection contains a ListEntryID and a bool indicating whether it is painted or not
public Dictionary<int,bool> OwnedListEntryIDs { get; set; }
}
一旦进入控制器方法, 模式状态。 问题通行证和代码就会进入前方循环, 但模型总是 NULL :
[HttpPost]
public JsonResult OwnedModels(OwnedPaintedSave models)
{
if (ModelState.IsValid)
{
foreach (var id in models.OwnedListEntryIDs)
{ }
}
}
我尝试了设定传统设置: 使用$. ajax 方法, 但问题是一样的。 我猜 ViewModel 中的字典不是我需要的, 但我不确定它应该是什么。 感谢您的帮助 。