1

私のパラメーター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)
        });

最良の例のリンク

4

2 に答える 2