当我点击id =“send”的按钮时,我正在尝试将所选行发送到控制器中。问题是,当我尝试使用所选行值发送其他值(在本例中为数字和字符串)时,所选行值将向控制器发送null,但控制器中的数字和字符串不为空参数。
这是我的javascript代码,只有我发送选定的行值才能正常工作:
$('#send').click(function () {
var items = {};
var grid = $('#grid').data('kendoGrid');
var selectedElements = grid.select();
for (var j = 0; j < selectedElements.length; j++) {
var item = grid.dataItem(selectedElements[j]);
items['grid[' + j + '].ParecidoCodigo'] = item.ParecidoCodigo;
}
$.ajax({
url: '@Url.Action("Index", "Busqueda")',
type: "POST",
async: false,
data: items,
success: function (result) {
console.log(result);
}
})
})
这是我的控制器方法操作:
public ActionResult Index(MarcaParecido[] grid)
{ ... }
到目前为止一切正常。但是当我尝试发送另一个这样的值时:
$('#send').click(function () {
var items = {};
var grid = $('#grid').data('kendoGrid');
var selectedElements = grid.select();
var enviarDest = $('#destinatario').val();
var marca = $('#numMarca').val();
for (var j = 0; j < selectedElements.length; j++) {
var item = grid.dataItem(selectedElements[j]);
items['grid[' + j + '].ParecidoCodigo'] = item.ParecidoCodigo;
}
$.ajax({
url: '@Url.Action("Index", "Busqueda")',
type: "POST",
async: false,
data: { items, marcas: marca, destinatario: enviarDest },
success: function (result) {
console.log(result);
}
})
})
选定的行值为null,但其他值不为空
这是我的控制器:
public ActionResult Index(MarcaParecido[] grid, string marcas, string destinatario)
{...}
我也尝试过使用JSON.stringify,但它不起作用。
答案 0 :(得分:1)
如果items是您要发送到服务器的键/值对的集合,请将两个附加参数添加到该服务器,然后继续向项目发送项目对象。 MVC应该读取“网格”。 items作为集合中的项目列表(正如您现在所做的那样),并查看您指定的变量中的其他两个参数:
items["marcas"] = marca;
items["destinatario"] = enviarDest;
$.ajax({
.
.
data: items