我在剃刀視圖中有2個數組。第一個複選框複選框,第二個複選框未選中。我可以發送其中一個,但我不知道如何發送他們兩個。這是我的jQuery代碼:如何在MVC.NET中使用jQuery發送多個數組?
$(document).ready(function() {
$("#checkAll").click(function() {
$(".checkBox").prop('checked', $(this).prop('checked'));
});
$("#confrim").click(function() {
var selectedIDs = new Array();
var unseletedeIDs = new Array();
$('input:checkbox.checkBox').each(function() {
if ($(this).prop('checked')) {
selectedIDs.push($(this).val());
} else {
unseletedeIDs.push($(this).val());
}
});
var options = {};
options.url = "/Parts/ConfrimAll";
options.type = "POST";
options.data = JSON.stringify(selectedIDs);
options.contentType = "application/json";
options.dataType = "json";
options.success = function(msg) {
alert(msg);
};
options.error = function() {
alert("Error!");
};
$.ajax(options);
});
});
這是操作:
public ActionResult ConfrimAll(int?[] selectedIDs, int?[] unSelectedIDs)
{
if (selectedIDs!=null)
{
foreach (int id in selectedIDs)
{
Part obj = db.Parts.Find(id);
obj.IsOk = true;
db.Entry(obj).State = EntityState.Modified;
}
}
if (unSelectedIDs!=null)
{
foreach (int id in unSelectedIDs)
{
Part objs = db.Parts.Find(id);
db.Parts.Remove(objs);
}
}
db.SaveChanges();
return Json("yes");
}
我試試這不是工作 –
這不是很有用的反饋。它以什麼方式不起作用?您是否更新了'ConfrimAll'(原文如此)方法的屬性,以便ModelBinder能夠工作? –
是您的頃right.this confrimall的方法:public的ActionResult ConfrimAll(INT [] SelectedIDs,INT [] UnSelectedIDs) { 的foreach(在SelectedIDs INT ID) { 部分OBJ = db.Parts.Find(ID) ; obj.IsOk = true; db.Entry(obj).State = EntityState.Modified; } foreach(int in UnSelectedIDs) { Part objs = db.Parts.Find(id); db.Parts.Remove(objs); } db.SaveChanges(); return Json(「yes」); } –