2

ここで私は問題を抱えています:

OneCar->引数を1つだけ取ると、値がわかり、すべてがOKです。

しかし、ListCar1とListCar2の引数のリストを取得しようとすると、nullしか表示されません。

これは小さな間違いだと思いますが、修正方法がわかりません。

[HttpPost]
        public JsonResult DodajTematSave(string OneCar, string[] ListCar1, List<string> ListCar2)
        {
        }

これがJsonアクションです

<script type="text/javascript">

    function Save() {

        var mycars = new Array()
        $("[name^='CarString']").each(function () {
            mycars.push(this.value);
        });

        $.ajax({
            url: '@Url.Action("DodajTematSave", "StronaGlowna")',
            dataType: "json",
            data: {
                OneCar: mycars[0]
                ListCar1: mycars
                ListCar2: mycars
            },
            type: "POST",
            async: false,
            error: function () {
            },
            success: function (data) {
                if (data.Success) {
                    alert('success');
                }

            }
        });
    }

</script>

正解:

<script type="text/javascript">

    function Save() {

        var mycars = new Array()
        $("[name^='CarString']").each(function () {
            mycars.push(this.value);
        });

        $.ajax({
            url: '@Url.Action("DodajTematSave", "StronaGlowna")',
            dataType: "json",
            data: {
                OneCar: mycars[0]
                ListCar1: mycars
                ListCar2: mycars
            },
            type: "POST",
            traditional: true,
            async: false,
            error: function () {
            },
            success: function (data) {
                if (data.Success) {
                    alert('success');
                }

            }
        });
    }

</script>
4

1 に答える 1

2

traditional: true呼び出しにパラメーターを追加する必要があり$.ajaxます。詳細は、このjQueryフォーラムスレッドまたはこの回答に記載されています。

于 2013-03-25T12:00:13.427 に答える