1

データの配列をコントローラーに投稿しようとしています..私のビューは次のようなものです:

<script>
   $.post("/",{
       person: [
           { id: 1, name: "a" },
           { id: 2, name: "b" }
       ]
   });
</script>

そして私のコントローラーで:

[HttpPost]
public ActionResult Index(List<Person> person)
{
    //something
}

送信された http データを調べると、次のデータがあることがわかります。

person[0][id]
person[0][name]
person[1][id]
person[1][name]

ただし、デフォルトのモデルバインダーの正しいは次のとおりです。

person[0].id
person[0].name
person[1].id
person[1].name

どうすれば修正できますか?

4

1 に答える 1

1

モーベルバインダーを幸せにするために toを設定する必要があるため、$.post必要な使用ではできません。$.ajaxcontentType'application/json'$.post

$.ajax({
        url: '/',
        type: 'POST',
        data: JSON.stringify({
            person: [
                { id: 1, name: "a" },
                { id: 2, name: "b" }
            ]
        }),
        contentType: 'application/json'
    });

またJSON.stringify、データを modelbinder で機能させるには、データが必要です。

于 2012-10-11T20:01:02.100 に答える