私のパラメーターKontrolkaSamTekstListaはコントローラーActionResult KontrolkaSubmit()に null データを取得しますが、ajax へのすべての送信アクションは正常に見えます。
クラス
using System.Collections.Generic;
namespace Modul_Stypendia.Kontrolki
{
public class KontrolkaSamTekst
{
public int Id { get; set; }
public int Kolejnosc { get; set; }
public string Tekst { get; set; }
public int Wypelnia { get; set; }
public List<string> Przyklad { get; set; }
}
}
ここのリストは空です重要
[HttpPost]
public ActionResult KontrolkaSubmit(List<KontrolkaSamTekst> KontrolkaSamTekstLista)
{
System.Threading.Thread.Sleep(2000);
return Json(new { msg = "Successfully added " + KontrolkaSamTekstLista[0].Tekst });
}
アヤックス
$("#waznyTest").click(function () {
var KontrolkaSamTekst = {
Id: idDane,
Kolejnosc: kolejnoscDane,
Tekst: tekstDane,
Wypelnia: wypelniaDane,
Przyklad: przykladDane
}
KontrolkaSamTekstLista = [];
KontrolkaSamTekstLista.push(KontrolkaSamTekst);
KontrolkaSamTekstLista.push(KontrolkaSamTekst);
KontrolkaSamTekstLista.push(KontrolkaSamTekst);
$.ajax({
url: '@Url.Action("KontrolkaSubmit", "styStypendia")',
dataType: 'json',
data: {
KontrolkaSamTekstLista: KontrolkaSamTekstLista
},
type: 'post',
traditional: true,
async: false,
success: function (data) {
$('#target').html(data.msg);
}
});
});
送信されたデータは問題ないようです
送信データ
正解
$.ajax({
url: '/styStypendia/KontrolkaSubmit',
type: 'POST',
async: false,
contentType: "application/json; charset=utf-8",
data: JSON.stringify(KontrolkaSamTekstLista)
});
最良の例のリンク