私は、この問題を誰かが助けてくれることを願っています。JavaScriptを使用して配列と文字列をコントローラに渡すことができません
私はこのようにJavaScriptを使用してコントローラに配列を渡すしようとしている:
$('#send') .lick(function() {
var items = {};
var grid = $('#grid') .ata('kendoGrid');
var selectedElements = grid .elect();
for (var j = 0; j < selectedElements .ength; j++) {
var item = grid .ataItem(selectedElements[j]);
items['grid[' + j + '] .arecidoCodigo'] = item .arecidoCodigo;
}
$ .jax({
type: "POST",
data: items,
url: '@Url .ction("Index", "Busqueda")',
success: function (result) {
console .og(result);
}
})
})
これが正常に動作します。
しかし、別の値(この場合は文字列データ)を渡そうとすると、配列はコントローラにnullを送りますが、文字列値はnullではありません。私はこのケースでは、配列と文字列データ別の値を送信しようとしたとき
は、これは私のコードです:
$('#send') .lick(function() {
var items = {};
var grid = $('#grid') .ata('kendoGrid');
var selectedElements = grid .elect();
var enviarDest = $('#destinatario') .al();
for (var j = 0; j < selectedElements .ength; j++) {
var item = grid .ataItem(selectedElements[j]);
items['grid[' + j + '] .arecidoCodigo'] = item .arecidoCodigo;
}
var postData = { marcas: items, destinatario: enviarDest };
$ .jax({
type: "POST",
data: postData,
url: '@Url .ction("Index", "Busqueda")',
success: function (result) {
console .og(result);
}
})
})
をそして、これは私のコントローラのコードです:ここで
public async Task<ActionResult> Index(List<MarcaParecido> marcas, string destinatario)
{
..
}
私がリストmarcas
を受け取り、文字列destinatario
がヌルでない場合、私は何が間違っているのか分かりません。
'MarcaParecido'モデルとそれの財産あなたがにバインドしようとしているとは何ですか? –
コードにいくつかの構文エラーがあります。あたかもいくつかの文字が入っていないかのように見えます。例えば、 '$ .ajax'は' $ .jax'ではありません。また、配列ではなく 'items' /' marcas'のオブジェクトを使って 'List'を表現している可能性があります。これはうまくいきません。オブジェクトが必要な場合は、 'Dictionary または' List >が必要です。 –
事は、コントローラに配列だけを渡すと動作しますが、別の値を渡そうとするとnullが送信されることです。私はこれもMarcaParecido [] marcasと一緒に試してみて同じことです。私は配列だけを渡すときにのみ動作します。そして私は他の価値も渡す必要があります。 –